当前浏览:首页 / WordPress函数 / the_widget()

the_widget( string $widget, array $instance = array(), array $args = array() )

将任意小工具作为模板标签输出

themore...

widget 小工具


参数

$widget

(string) (必填) 小工具的PHP类名(请参阅类class-wp-widget.php)

$instance

(array) (可选) 小工具的实例设

默认值: array()

$args

(array) (可选) 配置小工具显示的参数数组。

  • 'before_widget'
    (string) 前置添加到小工具的HTML输出的HTML内容,默认 <div class="widget %s">,其中 %s 是小工具的css类名。
  • 'after_widget'
    (string) 追加至小工具的HTML输出的HTML内容,默认 </div>
  • 'before_title'
    (string) 前置添加到小工具的标题的HTML内容,默认 <h2 class="widgettitle">
  • 'after_title'
    (string) 追加至小工具的标题的HTML内容,默认 </h2>

默认值: array()


说明

对于参数$widget,WordPress中包含的小工具类包括:

  • WP_Widget_Archives — 归档
  • WP_Widget_Calendar — 日历
  • WP_Widget_Categories — 类别
  • WP_Widget_Links — 链接
  • WP_Widget_Meta — Meta
  • WP_Widget_Pages — 页面
  • WP_Widget_Recent_Comments — 最新评论
  • WP_Widget_Recent_Posts — 最新文章
  • WP_Widget_RSS — RSS
  • WP_Widget_Search — 搜索 (搜索表单)
  • WP_Widget_Tag_Cloud — 标签云
  • WP_Widget_Text — 文本
  • WP_Nav_Menu_Widget — 导航菜单

存档小工具

显示每月存档列表。

<?php the_widget( 'WP_Widget_Archives', $instance, $args ); ?>

  • 小工具的css类:widget_archive
  • instance:
    title
    归档列表标题,默认 __('Archives')
    count
    显示每个存档中的文章数量 (1),wp_get_archives的 show_post_count 参数,默认 0 (隐藏)
    dropdown
    显示为下拉列表 (1),默认 0 (一个无序列表)

示例

默认用法:
<?php the_widget( 'WP_Widget_Archives' ); ?> 

显示下拉列表:
<?php the_widget( 'WP_Widget_Archives', 'dropdown=1' ); ?>

日历小工具

显示日历。

<?php the_widget( 'WP_Widget_Calendar', $instance, $args ); ?>

  • 小工具的css类:widget_calendar
  • instance:
    title
    日历标题,默认:

示例

默认用法:
<?php the_widget( 'WP_Widget_Calendar' ); ?>

类别小工具

显示类别列表。

<?php the_widget( 'WP_Widget_Categories', $instance, $args ); ?>

  • 小工具的css类:widget_categories
  • instance:
    title
    类别列表标题,默认 __( 'Categories' )
    count
    显示每个类别中的文章数量,wp_dropdown_categories 或 wp_list_categories 的 show_count 参数,默认 0 (隐藏)
    hierarchical
    将子类别显示为父类别内的嵌套项 (1),默认 0 (内联式)
    dropdown
    显示为下拉列表 (1),默认 0 (一个无序列表)

示例

默认用法:
<?php the_widget('WP_Widget_Categories'); ?>

显示包含文章数量的下拉列表
<?php the_widget( 'WP_Widget_Categories', 'dropdown=1&count=1' ); ?>

自定义HTML小工具

显示任意HTML
<?php the_widget( 'WP_Widget_Custom_HTML', $instance, $args ); ?>

  • 小工具的css类:widget_custom_html
  • instance:
    title
    内容的标题,默认:
    content
    任意的HTML,默认:

示例

默认用法:
<?php the_widget('WP_Widget_Custom_HTML', array('title' => 'Example', 'content' => '<p>Basic example.</p>')); ?>

按类别显示链接列表(blogroll)

<?php the_widget( 'WP_Widget_Links', $instance, $args ); ?>

  • 小工具css类:
  • instance:
    title
    链接区的标题
    category
    显示的链接类别ID,用逗号分隔,wp_list_bookmarks 的 category 参数,默认 false (显示所有类别的链接)
    description
    显示链接的描述 (1 – true),show_description 参数,默认 false (隐藏)
    rating
    显示链接评级 (1- true),show_rating 参数,默认 false (隐藏)
    images
    显示链接图片 (1 – true),show_images 参数,默认 true (显示)
    name
    如果显示链接图片,输出链接名称作为 alt 属性,show_name 参数,默认 false

Examples

默认用法:
<?php the_widget( 'WP_Widget_Links' ); ?>

在类别ID 2或3中显示列表:
<?php the_widget( 'WP_Widget_Links', 'category=2,3' ); ?>

Meta小工具

显示站点meta(登录/注销、管理、feed和WordPress链接)

<?php the_widget( 'WP_Widget_Meta', $instance, $args ); ?>

  • 小工具css类:widget_meta
  • instance:
    title
    meta区的标题,默认 __( 'Meta' )

示例

默认用法:
<?php the_widget( 'WP_Widget_Meta' ); ?>

页面小工具

显示页面的列表。

<?php the_widget( 'WP_Widget_Pages', $instance, $args ); ?>

  • 小工具css类:widget_pages
  • instance:
    title
    页面列表的标题,默认 __( 'Pages' )
    sortby
    wp_list_pages 的 sort_column 参数,默认 menu_order
    exclude
    要从列表中排除的页面ID,用逗号隔开,默认 null (显示所有页面)

示例

默认用法:

 the_widget( 'WP_Widget_Pages' );

目录

目录(Contents)作为标题,按上次修改日期排序:

the_widget('WP_Widget_Pages', 'title=Contents&sortby=post_modified', 'before_title=<h3>&after_title=</h3>');

最新评论

显示最近的评论列表。

<?php the_widget( 'WP_Widget_Recent_Comments', $instance, $args ); ?>

  • 小工具css类:widget_recent_comments
  • instance:
    title
    评论列表标题,默认 __( 'Recent Comments' )
    number
    要显示的评论数量 (最多15),默认 5

示例

默认用法:
<?php the_widget( 'WP_Widget_Recent_Comments' ); ?>

最新文章

显示最近文章的列表。

<?php the_widget( 'WP_Widget_Recent_Posts', $instance, $args ); ?>

  • 小工具css类:widget_recent_entries
  • instance:
    title
    文章列表的标题,默认 __('Recent Posts')
    number
    要显示的文章数量 (最多 15),默认 10

示例

默认用法:
<?php the_widget( 'WP_Widget_Recent_Posts' ); ?>

RSS小工具

显示来自任何RSS或Atom feed的条目列表。

<?php the_widget( 'WP_Widget_RSS', $instance, $args ); ?>

  • 小工具css类:
  • instance :
    title
    列表的标题
    默认:从RSS或Atom feed继承的标题
    url
    要引入的 RSS 或 Atom feed 的 URL
    items
    要显示的 RSS 或 Atom 项目的数量
    show_summary
    show_author
    show_date

示例

默认用法:
<?php the_widget( 'WP_Widget_RSS' ); ?>

搜索小工具

<?php the_widget( 'WP_Widget_Search', $instance, $args ); ?>

  • 小工具css类:widget_search
  • instance:
    title
    搜索表单的标题,默认 null

示例

默认用法:
<?php the_widget( 'WP_Widget_Search' ); ?>

标签云小工具

<?php the_widget( 'WP_Widget_Tag_Cloud', $instance, $args ); ?>

  • 小工具css类:
  • instance:
    title
    标签云的标题,默认 __( 'Tags' )
    taxonomy
    提取标签云的分类(taxonomy),默认 post_tag

示例

默认用法:
<?php the_widget( 'WP_Widget_Tag_Cloud' ); ?>

文本小工具

<?php the_widget( 'WP_Widget_Text', $instance, $args ); ?>

  • 小工具css类:widget_text
  • instance:
    • title
    • text
    • filter

示例

默认用法:
<?php the_widget( 'WP_Widget_Text' ); ?>

自定义小工具

在模板中显示自定义小工具。

<?php the_widget( 'My_Custom_Widget', $instance, $args ); ?>

  • 小工具css类:WIDGET CLASS NAME (见下面的例子)
  • instance: (可选)
  • arguments: (可选)

示例

默认用法:

class My_Custom_Widget extends WP_Widget
{
/* your code* /
}

<?php the_widget( 'My_Custom_Widget' ); ?>



源码

查看源码 官方文档


更新日志

版本描述
2.8.0开始引入

使用示例

  • 示例1

    显示具有默认设置的小工具:

    the_widget( 'WP_Widget_Categories' );

    显示带有设置的小工具:

    the_widget( 'WP_Widget_Categories', 'dropdown=1&count=1' );

    显示具有自定义参数的小工具:

    $instance = array(
    	'dropdown' => 1,
    	'count'    => 1,
    );
    $args = array(
    	'before_widget' => '<div id="%1$s" class="widget %2$s">', 
    	'after_widget' => '</div>',
    	'before_title' => '<div class="widget-title">',
    	'after_title' => '</div>'
    );
    the_widget( 'WP_Widget_Categories', $instance, $args );
    
  • 示例2

    例子:

    $args = array(
        'before_widget' => '<div class="widget %s">', 
        'after_widget' => '</div>',
        'before_title' => '<h2 class="widget-title">',
        'after_title' => '</h2>'
        );
    $instance = array(
        'title' => 'Title',
        'text' => 'Text'
        );
    the_widget( 'My_Custom_Widget', $instance, $args );