我目前正在开发一个自定义wordpress主题供我自己的网站使用。我主要关心的是包含小部件区域。我设法包含一个小部件区域,以便可以从 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&gt;配置它也是如此。窗口小部件:
<?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的新手。提前谢谢!
答案 0 :(得分:2)
发现自己没有教程告诉我的内容:
我必须在页面开头添加<?php wp_head() ?>
,在页面末尾添加<?php wp_footer() ?>
。
Wordpress似乎需要这些钩子才能正常运行。