【发布时间】:2018-11-20 23:48:18
【问题描述】:
我目前正在开发一个自定义 wordpress 主题供我自己的网站使用。我主要关心的是包括小部件区域。我设法包含了一个小部件区域,以便可以从 Appearance > 小部件 对其进行配置,并且结果也会显示在定制器预览和实时网站上。 唯一的问题是我无法从定制器中配置小部件。当我在定制器中单击 Widgets 时,它只显示此消息:
您的主题有一个小部件区域,但此特定页面不显示它。您可以导航到您网站上的其他页面,同时使用定制器查看和编辑这些页面上显示的小部件。
好吧,由于 Appearance > Widgets 下配置的小部件实际上正在显示,我的网站似乎有一个小部件区域。但我想定制器缺少一些东西来知道这一点。
这是我从许多类似教程中获取的注册侧边栏/小部件区域的代码:
<?php
function tgf_customize_register( $wp_customize ) {
//All our sections, settings, and controls will be added here
}
add_action( 'customize_register', 'tgf_customize_register' );
function tgf_widgets_init() {
register_sidebar(array(
'name' => 'Sidebar Widget',
'id' => 'main_sidebar_widget',
'description' => 'Widget Area',
'before_widget' => '<div class=”widget”>',
'after_widget' => '</div>',
'before_title' => '<h2>',
'after_title' => '</h2>',
) );
}
add_action( 'widgets_init', 'tgf_widgets_init' );
?>
这是显示侧边栏的代码:
<?php if ( is_active_sidebar( 'main_sidebar_widget' ) ) : ?>
<?php dynamic_sidebar( 'main_sidebar_widget' ); ?>
<?php endif; ?>
我也尝试使用此代码显示它,但是即使我从 Appearance > Widgets 配置它,该小部件也根本不会显示在网站上:
<?php if ( is_active_sidebar( 'main_sidebar_widget' ) ) : ?>
<?php get_sidebar( 'main_sidebar_widget' ); ?>
<?php endif; ?>
为什么我不能从定制器中配置这个小部件?
这个问题WordPress theme creation : There are no widget areas on the page shown 在定制器中提到了相同的错误消息,但没有提供适用于我的具体问题的解决方案。
由于我无法通过研究这个问题找到任何东西,我认为我缺少一些基本的东西。很可能,因为我是 wordpress 主题开发和 PHP 的新手。提前致谢!
【问题讨论】:
标签: php wordpress wordpress-theming