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

时间:2013-02-14 22:32:01

标签: wordpress-theming wordpress

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

在尝试注册小部件之前,侧边栏的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并尝试了几个例子后,我得到的只是错误。当然,小部件区域因此拒绝在仪表板中显示&gt;外观

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

1 个答案:

答案 0 :(得分:1)

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

  1. 注册侧栏
  2. 将已注册的侧边栏添加到主题
  3. 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相匹配。那应该是它。当然,实现可能更复杂 - 包括例如硬编码的后备侧边栏或多个侧边栏 - 但这是基本的启动包。