Multisite Widget/Content

时间:2014-05-15 作者:Andrew

我正在使用WordPress multisite,需要在侧边栏中显示所有子网站的内容。这是一个由50多个站点组成的网络,因此每隔几天用此内容更新所有50多个侧栏是不现实的。

我找到的一个解决方案是简单地将我想要的内容插入侧边栏。虽然我不希望我的客户机编辑这个文件,但我希望他们使用TinyMCE编辑器而不是HTML。

另一个想法是在每个子网站中嵌入一个iframe,让我的客户端更新iframe引用的页面。

我的最后一个想法是用TinyMCE编辑器创建一个插件,将代码注入侧栏。php文件保存时,虽然我不知道插件是否可以访问编辑主题文件。

有没有我没有想到的更好的解决方案?我尝试了几个插件,但没有成功,我错过了一个吗?

2 个回复
SO网友:Madivad

你能改用顶部的管理栏吗?对我来说,上面的短信看起来更好。

add_action( \'admin_bar_menu\', \'toolbar_link_to_mypage\', 999 );

function toolbar_link_to_mypage( $wp_admin_bar ) {
  $args = array(
      \'id\'    => \'my_admin_bar_text\',
      \'title\' => \'WELCOME TO SYDNEY\',
      \'meta\'  => array( \'class\' => \'my-toolbar-page\' )
  );
  $wp_admin_bar->add_node( $args );
}   
同样,您可以在侧边栏上创建一条短消息,但它必须保持非常短。这样做的代码是:

add_action( \'admin_menu\', \'register_my_custom_menu_page\' );

function register_my_custom_menu_page(){
  add_menu_page( \'custom menu title\', \'custom menu\', \'manage_options\', \'custompage\', \'my_custom_menu_page\', plugins_url( \'myplugin/images/icon.png\' ), 6 ); 
}

function my_custom_menu_page(){
  echo "Admin Page Test";   
}
这将在左侧(贴子下方)添加一个“自定义菜单”链接。你可以随意命名“自定义菜单”,它还可以创建一个页面,如果你愿意,可以在上面添加更多信息。

这两个选项在网络站点上启用后,不能在每个博客上禁用。如果未启用网络,则每个博客管理员可以对每个博客启用和禁用网络。

注意:上面的第一个代码片段,我不记得是从哪里得到的,它已经被切碎了一段时间了。第二段来自WP Codex,http://codex.wordpress.org/Function_Reference/add_menu_page

SO网友:cseto

我也遇到过类似的情况,我希望在多站点的所有子站点上显示相同的内容,并通过主站点的Dashboard>Widgets使内容可编辑。我在主站点的页脚中注册了边栏,但编辑主站点的小部件并没有在子网站的页脚小部件上更新。事实上,子网站小部件完全不同。

花了一段时间才找到一个解决方案,(1)子网站侧栏小部件将由主站点的侧栏小部件控制,(2)对主站点小部件的更新也将在整个网络中传播。我发现一位开发人员想出了一个解决方案,并将其记录在这里:https://redtreewebdesign.com/sharing-caring-wordpress-multisite/ 侧栏内容保存在瞬态中。我插入了函数中提供的代码。php和它的工作就像一个魅力。

这篇文章是根据一条评论写的(https://gist.github.com/lucasstark/132511ab333f0c5fb6c4e82458ba2d20) 关于同一主题的其他帖子(https://webdevstudios.com/2013/12/17/sharing-sidebars-across-a-multisite-network/) 这是我当时使用的主题的开发人员编写的。

结束

相关推荐

if is within sidebar

我有几个侧边栏(一个页面上不止一个),我想根据它们位于哪个侧边栏,为小部件设置不同的图像大小。我试过了if( ! dynamic_sidebar(\'my-sidebar\') ) : 以及if ( is_active_sidebar( \'left-sidebar\' ) ) : 但这似乎只是检查侧栏是否存在(它们确实存在)。如何获取:”if widget is located in sidebar A, give me this size, elseif widget is