【问题标题】:Wordpress custom theme: Widget area not configurable in CustomizerWordpress 自定义主题:无法在自定义程序中配置小部件区域
【发布时间】: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


    【解决方案1】:

    自己发现了教程都没有告诉我的东西:

    我必须在页面开头添加&lt;?php wp_head() ?&gt;,在页面末尾添加&lt;?php wp_footer() ?&gt;

    Wordpress 似乎需要这些钩子才能正常运行。

    【讨论】:

    • 这是常识。这是编写自定义主题时需要的最基本信息。如果您开发自定义主题,没有人会想问您诸如“您是否包含 wp_head 或 wp_footer?”之类的问题
    • @Ovidash 似乎如此。在我做的任何教程中都没有提到,所以也许这会帮助像我一样迷路的其他人。
    猜你喜欢
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多