Nan*_*lla 1 php wordpress wordpress-theming
我目前正在为我自己的网站开发自定义 wordpress 主题以供使用。我主要关心的是包含小部件区域。我设法包含了一个小部件区域,以便它可以从外观 > 小部件进行配置,结果也显示在定制器预览和实时网站上。唯一的问题是我无法从定制器中配置小部件。当我单击定制器中的小部件时,它只显示此消息:
您的主题有一个小部件区域,但此特定页面不显示它。您可以导航到站点上的其他页面,同时使用定制器查看和编辑这些页面上显示的小部件。
好吧,由于在外观 > 小部件配置的小部件下实际显示,我的站点似乎有一个小部件区域。但我想定制者缺少某些东西才能知道这一点。
这是我从许多类似教程中获取的注册侧边栏/小部件区域的代码:
<?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' );
?>
Run Code Online (Sandbox Code Playgroud)
这是显示侧边栏的代码:
<?php if ( is_active_sidebar( 'main_sidebar_widget' ) ) : ?>
<?php dynamic_sidebar( 'main_sidebar_widget' ); ?>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
我也尝试使用此代码显示它,但是即使我从Appearance > Widgets配置它,该小部件也根本不显示在网站上:
<?php if ( is_active_sidebar( 'main_sidebar_widget' ) ) : ?>
<?php get_sidebar( 'main_sidebar_widget' ); ?>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
为什么我不能从定制器中配置这个小部件?
这个问题WordPress 主题创建:显示的页面上没有小部件区域在定制器中提到了相同的错误消息,但没有提供适用于我的特定问题的解决方案。
由于我通过研究这个问题找不到任何东西,我想我错过了一些基本的东西。这很可能是,因为我是 wordpress 主题开发和 PHP 的新手。提前致谢!
发现自己没有任何教程告诉我:
我必须<?php wp_head() ?>
在页面的开头和页面<?php wp_footer() ?>
的末尾添加。
Wordpress 似乎需要这些钩子才能正常运行。