侧边栏中的WordPress小工具文本框

时间:2011-06-27 作者:digitalbart

我在某些侧栏中使用了一个普通的文本框小部件。文本小部件在ul中生成div。是否有办法让小部件生成另一个ul li?

<ul><h3>Heading</h3>            <div class="textwidget">

3 个回复
SO网友:bueltge

检查您的sidebar.phpfunctions.php 对于主题,侧栏定义小部件外部的标记;功能register_sidebar() 定义小部件内容之前的标记;必须更改此标记。有关此功能,请参阅codex:codex register_sidebar()

编辑具体来说,您需要查看before_widgetafter_widget 的参数register_sidebar() 参数数组。

如果register_sidebar() 通话内容如下:

register_sidebar(array( // Right Column widget area
    \'name\'=>\'Sidebar Right\',
    \'id\'=>\'sidebar-right\',
    \'description\' => \'Right-column, half-width sidebar in three-column layout\',
    \'before_widget\' => \'<div id="%1$s" class="widget %2$s">\',
    \'after_widget\' => \'</div>\',
    \'before_title\' => \'<div class="title">\',
    \'after_title\' => \'</div>\',
));
然后将其更改为:

register_sidebar(array( // Right Column widget area
    \'name\'=>\'Sidebar Right\',
    \'id\'=>\'sidebar-right\',
    \'description\' => \'Right-column, half-width sidebar in three-column layout\',
    \'before_widget\' => \'<li id="%1$s" class="widget %2$s">\',
    \'after_widget\' => \'</li>\',
    \'before_title\' => \'<div class="title">\',
    \'after_title\' => \'</div>\',
));
具体而言,您正在更改以下内容:

    \'before_widget\' => \'<div id="%1$s" class="widget %2$s">\',
    \'after_widget\' => \'</div>\',
对此:

    \'before_widget\' => \'<li id="%1$s" class="widget %2$s">\',
    \'after_widget\' => \'</li>\',

SO网友:Sterling Hamilton

您可以注销默认小部件:

unregister_widget( \'WP_Widget_Text\' );
然后用自定义标记注册您自己的标记。。。

http://codex.wordpress.org/Widgets_API

http://azuliadesigns.com/create-wordpress-widgets/


或者您可以使用Javascript,并在文档加载完成后告诉它调整HTML。

或者您可以查看是否将所需代码完全嵌套在当前标记中,而只是围绕现有标记进行样式设置。你可以消除CSS给你带来的任何负面影响。

SO网友:PrivateUser

使用wordpress默认文本小部件。它在小部件区域中命名为“文本”。您可以在侧边栏中添加无限制的文本小部件。每个文本小部件创建新的ul-li。我希望你明白我的意思。

结束