【问题标题】:WordPress Theme from scratch, widgets don't work从头开始的 WordPress 主题,小部件不起作用
【发布时间】:2012-12-14 06:02:40
【问题描述】:

我知道这个话题已经讨论了很多,但我已经尝试了我在网上可以找到的所有内容,但没有任何效果。我的自定义模板中需要一个小部件区域。我从头开始编写 if 并且没有使用准系统类型的启动器,因此我没有可以从 functions.php 开始。

在 wp-admin 中,它会按原样显示我的小部件,但是当该区域中有小部件并且重新加载页面时,它会重置。换句话说,小部件不会持续存在于它应该存在的区域中。我错过了什么吗?我的 wordpress 安装不好吗?

这是我的functions.php的全部内容

<?php
register_sidebar
    (
        array(
            'name' => 'Header Widget',
        'id' => 'headerBanner',
        'before_widget' => '<div id="banner">',
        'after_widget' => '</div>',
        'before_title' => '',
        'after_title' => '',
    )
)

?>

还有我的 index.php

<?php if ( !dynamic_sidebar (1)) : ?>
<h1>it didn't work</h1>
<?php endif; ?>

【问题讨论】:

    标签: php wordpress widget


    【解决方案1】:

    尝试:

    <?php if(!dynamic_sidebar ('headerBanner')) : ?>
    <h1>it doesn't work</h1>
    <?php endif; ?>
    

    调用dynamic_sidebar时需要传入要显示的侧边栏的id

    还要注意dynamic_sidebar如果没有添加到侧边栏的小部件将返回false,因此向它添加一个小部件并查看它是否有效

    【讨论】:

    • 谢谢奥马尔,但我以前试过。我刚刚又试了一次。结果一样,调用dynamic_sidebar返回false
    • 另外注意dynamic_sidebar如果没有添加到侧边栏的小部件会返回false
    • 这绝对是它返回错误的问题。 wp-admin 中的小部件按应有的方式显示,但是当有一个活动小部件拖动到其中时,它不会持续存在。如果我离开 wp-admin 中的小部件页面并返回它会重置。
    • 尝试将本机文本小部件拖到您的侧边栏,看看它是否保留。如果它确实存在,则意味着存在导致小部件无法粘贴的 php 错误。
    • 什么样的php错误会导致它?常见的修复方法是什么?
    【解决方案2】:

    您是否尝试过这种其他方法?

    <?php dynamic_sidebar( 'headerBanner' ); ?>
    

    【讨论】:

      猜你喜欢
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      相关资源
      最近更新 更多