无法在Genesis中使用自定义侧栏替换自定义帖子类型的默认侧栏

时间:2015-07-07 作者:Martin Duys

我有一个存档模板(“archive reviews.php”),用于我创建的自定义帖子类型。我想用我使用Genesis Simple Sidebars插件创建的另一个边栏来替换默认的存档边栏。

我在模板文件中使用的代码如下所示:

remove_action(\'genesis_sidebar\', \'genesis_do_sidebar\' );
add_action( \'genesis_sidebar\', \'bge_get_blog_sidebar\' );

function bge_get_blog_sidebar() {
    dynamic_sidebar( \'chefsrecipes\' );
}
我认为这与此无关,但我还向函数中添加了以下代码。php文件:

 add_post_type_support( \'reviews\', \'genesis-cpt-archives-settings\');
 add_post_type_support( \'reviews\', \'genesis-simple-sidebars\' );
新的自定义侧栏出现,BUT 默认侧栏为still 显示在自定义侧栏下方。

我怎样才能让它消失?

1 个回复
SO网友:Martin Duys

我有this 帖子和回复David Chu 感谢你启发了我。

我实现这一点的方式没有明显的“错误”。它不起作用的原因是因为我安装了Genesis Simple Sidebars插件和Genesis Woocommerce Connect插件。

这两种方法都使用不同的动作挂钩来显示侧栏。

对于简单的侧栏,您需要使用:

remove_action( \'genesis_sidebar\', \'ss_do_sidebar\' );
。。如果已安装Genesis Woocommerce connect,则需要使用:

remove_action( \'genesis_sidebar\', \'gencwooc_ss_do_sidebar\' );
所以我的代码在函数中。php现在看起来是这样的。

function bge_swap_sidebar() {
  if ( is_singular(\'reviews\' ) || is_post_type_archive( \'reviews\'  ) ) {
    remove_action( \'genesis_sidebar\', \'gencwooc_ss_do_sidebar\' );
    add_action( \'genesis_sidebar\', \'reviews_sidebar\' );
  }
}

function reviews_sidebar() {
    dynamic_sidebar( \'chefsrecipes\' );
}
add_action( \'genesis_before_sidebar_widget_area\', \'bge_swap_sidebar\' );

结束

相关推荐

如何使用`get_sidebar‘函数来调用第二个侧边栏?

在我博客的主主页中调用第二个侧栏的正确方法是什么?我是说同时有两个边栏。。。。当我得到更多信息时,我可能会编辑这个问题,但现在我觉得完全迷路了。

无法在Genesis中使用自定义侧栏替换自定义帖子类型的默认侧栏 - 小码农CODE - 行之有效找到问题解决它

无法在Genesis中使用自定义侧栏替换自定义帖子类型的默认侧栏

时间:2015-07-07 作者:Martin Duys

我有一个存档模板(“archive reviews.php”),用于我创建的自定义帖子类型。我想用我使用Genesis Simple Sidebars插件创建的另一个边栏来替换默认的存档边栏。

我在模板文件中使用的代码如下所示:

remove_action(\'genesis_sidebar\', \'genesis_do_sidebar\' );
add_action( \'genesis_sidebar\', \'bge_get_blog_sidebar\' );

function bge_get_blog_sidebar() {
    dynamic_sidebar( \'chefsrecipes\' );
}
我认为这与此无关,但我还向函数中添加了以下代码。php文件:

 add_post_type_support( \'reviews\', \'genesis-cpt-archives-settings\');
 add_post_type_support( \'reviews\', \'genesis-simple-sidebars\' );
新的自定义侧栏出现,BUT 默认侧栏为still 显示在自定义侧栏下方。

我怎样才能让它消失?

1 个回复
SO网友:Martin Duys

我有this 帖子和回复David Chu 感谢你启发了我。

我实现这一点的方式没有明显的“错误”。它不起作用的原因是因为我安装了Genesis Simple Sidebars插件和Genesis Woocommerce Connect插件。

这两种方法都使用不同的动作挂钩来显示侧栏。

对于简单的侧栏,您需要使用:

remove_action( \'genesis_sidebar\', \'ss_do_sidebar\' );
。。如果已安装Genesis Woocommerce connect,则需要使用:

remove_action( \'genesis_sidebar\', \'gencwooc_ss_do_sidebar\' );
所以我的代码在函数中。php现在看起来是这样的。

function bge_swap_sidebar() {
  if ( is_singular(\'reviews\' ) || is_post_type_archive( \'reviews\'  ) ) {
    remove_action( \'genesis_sidebar\', \'gencwooc_ss_do_sidebar\' );
    add_action( \'genesis_sidebar\', \'reviews_sidebar\' );
  }
}

function reviews_sidebar() {
    dynamic_sidebar( \'chefsrecipes\' );
}
add_action( \'genesis_before_sidebar_widget_area\', \'bge_swap_sidebar\' );

相关推荐

“Sidebar”模板中包含评论计数的最近帖子

我试过这个代码,但它完全破坏了我的网站。我想这是因为我在侧栏模板中WP\\u查询的神圣帖子上下文中做错了什么。请一些WP专家更正此代码好吗?<?php $args = array( \'orderby\' => \'date\' ,\'order\' => \'DESC\' ,\'showposts\'=>6 ); $my_query = new WP_Query($args);