如何在WordPress中编辑小工具

时间:2012-01-16 作者:AlexMorley-Finch

在“外观->小部件”菜单中,有一个小部件列表,您可以通过拖放将其显示在侧栏中。

这些自定义小部件的HTML/PHP代码在哪里?

我一直在WordPress的函数引用中,但找不到任何内容。当然,这些小部件必须从HTML/PHP模板中提取。

我想知道的原因是小部件标题默认为<h3> 标签,我想将其更改为<h5> 标签。我还需要添加一些<hr />\'s和其他东西。

我在theme/includes/widgets.php 文件,但未找到任何内容。

顺便说一句,我正在用一本《2111》来修改我的主题。

中的代码theme/sidebar.php 用于(!dynamic_sidebar()), 然而,我的侧边栏是动态的,所以这段代码是无用的。

2 个回复
SO网友:Chris_O

这个WordPress Widgets API 是如何创建各种小部件和注册侧栏的。

创建新小部件时,可以向任何小部件添加变量。他们从register_sidebars 参数。

args (字符串/数组)(可选)
基于“name”和“id”值构建侧栏。默认值:无
name - 侧栏名称
id - 侧栏id.
before_widget - HTML放在每个小部件之前
after_widget - HTML放置在每个小部件之后
before_title - HTML放在每个标题之前
after_title - HTML放置在每个标题之后。

示例:

<?php
    add_action( \'widgets_init\', \'prefix_register_sidebars\' ); 
    function prefix_register_sidebars() {
         $args = array(
         \'name\' => \'My Sidebar\',
         \'id\'   => \'my-sidebar\',
         \'before_widget\' => \'<div id="%1$s" class="widget %2$s">\',,
         \'after_widget\'  => \'</div><hr />\',
         \'before_title\'  => \'<h5 class="widgettitle">\',
         \'after_title\'   => \'</h5>\'
         );
      register_sidebars( $args );
   }
示例小部件:
class MY_Widget extends WP_Widget {
    function my_widget( $args, $instance ) {
         $widget_ops = array(
         \'description\' => \'My Widget Description\'
         );
        parent::WP_Widget(false, \'My Widget Name\', $widget_ops );
    }
    function widget() { // This controls the display of the widget
    $title = \'My Widget Title\';

    echo $before_widget;  // Outputs the the \'before_widget\' register_sidebars setting
    echo $title;         //Will be wrapped in the \'before_title\' and \'after_title\' settings
    echo \'<p>This is my widget output</p>\';
    echo $after_widget;  //Outputs the \'after_widget\' settings
    }
}
add_action( \'widgets_init\', \'prefix_register_widgets\' );
function prefix_register_widgets() {
    register_widget( \'my_widget\' );
}

SO网友:wassem

它在函数中。php

函数twentyeleven\\u widgets\\u init(){

register_widget( \'Twenty_Eleven_Ephemera_Widget\' );

register_sidebar( array(
    \'name\' => __( \'Main Sidebar\', \'twentyeleven\' ),
    \'id\' => \'sidebar-1\',
    \'before_widget\' => \'<aside id="%1$s" class="widget %2$s">\',
    \'after_widget\' => "</aside>",
    \'before_title\' => \'<h3 class="widget-title">\',
    \'after_title\' => \'</h3>\',
) );

结束

相关推荐

Dividing widgets in sidebar?

我有一个自定义的边栏叫做页脚。我使用以下代码显示此侧栏:<?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'Footer\') ) : ?> (maybe I should do something in this line?) :) <?php endif; ?> 这很顺利,但现在几乎每个主题都允许用户将其小部件放在列中,就像这样:http://ka