Php 如何在静态主页的侧边栏中显示不同的内容

Php 如何在静态主页的侧边栏中显示不同的内容,php,wordpress,Php,Wordpress,我是一个Wordpress noob,我正在努力找出在侧栏中只在主页上显示不同内容的最佳方式。我已经将首页设置为静态,现在它显示了博客帖子页面中的常用小部件。我只需要在主页上的侧边栏中显示一些自定义内容。到目前为止,我已经找到了安装插件、多个边栏等的解决方案。我考虑的更多是在现有边栏中显示不同内容的条件。有人能告诉我如何完成这项任务吗 谢谢 一个简单的方法是编辑sidebar.php文件,找到要添加侧栏的位置,例如在顶部,检查是否为首页,然后使用函数检查是否为活动侧栏“frontpage\u s

我是一个Wordpress noob,我正在努力找出在侧栏中只在主页上显示不同内容的最佳方式。我已经将首页设置为静态,现在它显示了博客帖子页面中的常用小部件。我只需要在主页上的侧边栏中显示一些自定义内容。到目前为止,我已经找到了安装插件、多个边栏等的解决方案。我考虑的更多是在现有边栏中显示不同内容的条件。有人能告诉我如何完成这项任务吗

谢谢

一个简单的方法是编辑sidebar.php文件,找到要添加侧栏的位置,例如在顶部,检查是否为首页,然后使用函数检查是否为活动侧栏“frontpage\u sidebar”,以及其他全局小部件。 之后,您应该注册一个名为frontpage_sidebar的边栏

functions.php


我没有检查此代码,请检查并让我知道它是否有效。

您主页上的主题是否使用了其他模板?在函数中注册新的侧栏后,您可以修改显示的侧栏。我正在使用Unestrap:。是的,我正在使用一个不同的主页模板,但我真的需要有一个不同的侧边栏。在widgets级别有一个条件不是更好吗?哦。我想我误解了这个问题。如果您可以在首页上阅读更多信息,请尝试
$args = array(
'name'          => __( 'Sidebar name', 'theme_text_domain' ),
'id'            => 'frontpage_sidebar',    // ID should be LOWERCASE  ! ! !
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget'  => '</li>',
'before_title'  => '<h2 class="widgettitle">',
'after_title'   => '</h2>' );
register_sidebar($args);
if(is_front_page()){
    if(is_active_sidebar('frontpage_sidebar')){
        dynamic_sidebar('frontpage_sidebar');
    }else{
       echo 'please set a sidebar for your frontpage';
    }
}else{
   if(is_active_sidebar('sidebar')){
       dynamic_sidebar('sidebar');
   }else{
       echo 'please set default widgets for whole pages';
   }
}