多个网站的公共侧边栏

时间:2013-11-02 作者:Root

我有5个WordPress网站,每个网站都应该有相同的侧边栏内容。它是从userend动态发布的,应该是我的所有WordPress站点所共有的。如果不使用iframe,如何重新发布右侧边栏中的相同内容?

1 个回复
SO网友:Denis de Bernardy

简而言之,你不能。

很长一段时间的答案是,有很多选择可以这样做,但它们都非常复杂,容易出现错误,如果你不是一个老练的PHP黑客,可以盲着刺穿WP代码库,那么最肯定的是,你不想调查任何东西。

如果是,一种选择是通过使用侧栏来避开WP小部件API。主题中的php文件,而不是dynamic_sidebar() 呼叫。

如果你想让它在你无法控制的主题上发挥作用,请注意get_sidebar() 为此发挥作用。它有两个潜在的利益诉求:

    do_action( \'get_sidebar\', $name )
    locate_template($templates, true)
但即便如此,并不是所有的主题都称之为dynamic_sidebar() 和小部件。

根据我的经验,这些问题甚至更难破解。有这样的地方\'sidebars_widgets\'\'register_sidebar\'\'widgets_init\' 您可以尝试在其中“导入”一些伪装成真正的小部件区域而不是真正的小部件区域的内容。

然而,请注意,即使这样,当dynamic_sidebar() 被调用。后者包括以下内容,可能会覆盖这些内容:

apply_filters( \'dynamic_sidebar_params\', $params )
do_action( \'dynamic_sidebar\', $wp_registered_widgets[$id] )
还有大量其他挂钩和私有API,与侧栏本身或小部件配置相关联,您需要对其进行监控。再多的询问WPSE都不会让您不必仔细查看WP代码库。

我想强调最后一点:你must 阅读并理解与WP Widgets相关的意大利面代码,以便对上述内容有一点了解。此外,如果您继续,在可预见的未来监控it的任何更改是极其重要的。

如果不这样做,你的网站就会被炸得面目全非,甚至更糟,因为入侵WP私有API容易带来错误的副作用,并且经常会受到API更改的影响。(顺便提一下,下一个是WP待办事项列表中的热门话题。)

结束

相关推荐

Call sidebar from a template

我需要在标题中调用侧栏。我已经切换到新的“二十一二”主题,并创建了我自己的儿童主题。有了这个新主题,我决定把事情组织起来,所以我把我的小部件功能、样式表和两个新的边栏模板(一个用于页眉,一个用于页脚小部件)放在一个名为pgwidgets.这是我在标题中使用的调用<? if ( is_front_page() ) : ?> <?php get_sidebar( \'homepage\' ) ; ?> <?php endif ; ?> 这称为s