(WP) 页脚未显示在新的单个模板和第二个侧边栏中
Posted
技术标签:
【中文标题】(WP) 页脚未显示在新的单个模板和第二个侧边栏中【英文标题】:(WP) Footer not showing in new single template and 2nd sidebar 【发布时间】:2016-11-20 01:23:25 【问题描述】:我的页脚正常显示在正常页面中。我创建了一个新的帖子模板并将其放在页脚中:
<?php if ( !function_exists('dynamic_sidebar') || dynamic_sidebar('sidebar-2'))
get_footer();
像这样我的小部件显示正常。在我的函数文件中,我有这个:
add_action( 'widgets_init', 'child_register_sidebar' );
function child_register_sidebar() register_sidebar(array(
'name' => 'Sidebar 2 for single_withnotes',
'id' => 'sidebar-2',
'description' => '',
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<span class="widget-title">',
'after_title' => '</span>',
));
我的新侧边栏看起来像这样:
if ( ! is_active_sidebar( 'sidebar-2' ) )
return;
?>
<div id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-2' ); ?>
</div><!-- #secondary -->
谁能说明这是为什么?谢谢。
【问题讨论】:
【参考方案1】:在您的代码中,您的页脚仅在“if 语句”正确时显示。 dynamic_sidebar("sidebar-2") 仅在小部件“sidebar-2”存在并且有内容时才返回 true。
确保您已将内容添加到外观>小部件中的侧边栏 2。
您还应该在“if 语句”中使用“is_active_sidebar”,因为 dynamic_sidebar 会将内容发送到输出缓冲区。
如果您在“侧边栏 2...”中有内容,则另一种可能是链接到该位置的某些小部件存在错误。
放在文件的开头:
error_reporting(E_ALL);
ini_set('display_errors', 1);
并观察页面中是否显示一些错误。
您还可以从侧边栏 2 中删除所有内容并尝试仅使用一些文本。
【讨论】:
谢谢 - 虽然我不确定我是否理解......我的小部件中有内容。在小部件管理员“Sidebar 2 for single_withnotes”中显示了我已安装的小部件并输出小部件。不明白这一点:“另外,你应该在“if 语句”中使用“is_active_sidebar”,因为 dynamic_sidebar 会将内容发送到输出缓冲区。”我的新侧边栏中已经有它了。 当你有像“if”这样的条件语句时,你不想在里面放一些输出内容的东西,比如带有和 echo 的函数或类似的东西。这不是一个好习惯。我还更新了我的 anwser 以添加另一种可能性。<?php if ( !function_exists('is_active_sidebar') || !dynamic_sidebar('sidebar-2'))
`get_footer(); ` 小部件中也没有错误 - 我添加了代码但没有显示任何内容。无论如何感谢您的帮助。
你的 if 语句是: if ( !function_exists('is_active_sidebar') || !dynamic_sidebar('sidebar-2')) 或 if ( !function_exists('dynamic_sidebar') || dynamic_sidebar('sidebar -2'))???因为在第一个中,您正在寻找 dynamic_sidebar 返回 false 并且如果您有内容就不会发生这种情况。以上是关于(WP) 页脚未显示在新的单个模板和第二个侧边栏中的主要内容,如果未能解决你的问题,请参考以下文章
WP Twenty12主题宽度边栏页脚再次。第2部分:侧边栏-页脚.PHP