首页 文章

似乎无法为自定义Wordpress主题的侧边栏小工具

提问于
浏览
0

我被带进来为客户现有的网站制作一个快速的Wordpress主题 . 使用现有网站的CSS和JS以及骨架HTML,我能够使主题在几乎所有方面工作,除了一些 . 对于初学者来说,我似乎无法对小 Headers 进行“小组化” .

在尝试注册小部件之前,侧边栏的HTML如下:

<div class="wms-column wms-column-nav">
    <div class="wms-column-nav-body">
      <h2><a href="/">Blog</a></h2>
    </div>
</div>

请记住,我可以在内部div中添加html,但我无法更改两个外部div . 他们必须留下来 .

在阅读http://codex.wordpress.org/Widgetizing_Themes并尝试了几个例子后,我得到的只是错误 . 当然,小部件区域因此拒绝在仪表板>外观中显示 .

如何将上述代码转换为接收小部件的侧边栏?是否需要id =“sidebar”?是否需要 Headers ? Codex页面似乎暗示您格式化 Headers 的方式取决于整体方法(例如:divs与列表) . 我得到的印象是,你正在制作一个模板,小部件一遍又一遍地使用它来发布内容 . 我想你刚刚告诉WP将小部件放在哪里(并且他们的所有内容/格式/错综复杂都在小部件的代码中处理) .

1 回答

  • 1

    基本上是两个步骤来捣乱一个主题 .

    • 注册侧边栏

    • 将已注册的侧栏添加到主题中

    在functions.php中

    From the Codex page for register_sidebar;

    register_sidebar(array(
       'name' => __( 'Right Hand Sidebar' ),
       'id' => 'right-sidebar',
       'description' => __( 'Widgets in this area will be shown on the right-hand side.' ),
       'before_title' => '<h1>',
       'after_title' => '</h1>'
     ));
    

    在您的主题模板中

    添加对dynamic_sidebar的调用 . 这可能是 sidebar.php

    <div class="wms-column wms-column-nav">
        <div class="wms-column-nav-body"><?php
          dynamic_sidebar( 'right-sidebar' ); // your widgets will go here ?>
        </div>
    </div>
    

    请注意, dynamic_sidebar 中使用的参数与注册侧栏时使用的 id 匹配 . 那应该是它 . 当然,实现可能更复杂 - 包括例如硬编码的后备侧边栏或多个侧边栏 - 但这是基本的启动包 .

相关问题