首页 » 建站技术 » WordPress » 浏览内容

WordPress添加sidebar小工具Widget的应用


2010-12-16 23:42:17 3,929 0 发表评论 字体: 作者:C.K.
标签: sidebarWidgetWordPress小工具

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

现在大部分WordPress主题都包含了小工具(widget),本文主要介绍下WordPress中小工具的原理。

A sidebar中只有1个widget

(1) WordPress主题所在目录中functions.php中的如下代码是注册一个widget

if ( function_exists('register_sidebar') )
  • register_sidebar(array(
  • 'before_widget' => '<div id="%1$s">',
  • 'after_widget’ => '</div>',
  • 'before_title' => '<h3>',
  • 'after_title' => '</h3>',
  • ));
  • (2) sidebar中的如下代码是用来显示这些注册过的widget中的内容

    <? php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
  • <? php endif; ?>
  • (3)有了这些代码后我们就可以在WordPress后台的小工具中随意添加代码了。

    另外如果没有(1)中的代码,那么在后台就查看不到小工具了,此时就相当于主题不支持widget,如果没有(2)中的代码,在WordPress后台能添加widget,但是在WordPress中不能显示这些widget中的内容。

    B sidebar中有多个widget

    (1) 和只有1个widget情况类似,只是functions.php中相关代码改为如下(此例中有两个widget,名字分别为widget1 widget2)

    if( function_exists('register_sidebar') ) {
  • register_sidebar(array(
  • 'name' => 'widget1',
  • 'before_widget' => '<div id="%1$s">',
  • 'after_widget' => '</div>',
  • 'before_title' => '<h3>',
  • 'after_title' => '</h3>'
  • ));
  • register_sidebar(array(
  • 'name' => 'widget1',
  • 'before_widget' => '<div id="%1$s">',
  • 'after_widget' => '</div>',
  • 'before_title' => '<h3>',
  • 'after_title' => '</h3>'
  • ));
  • }
  • (2) sidebar中的如下代码是显示注册过的widget1和widget2中的内容

    <?php if ( !function_exists(‘dynamic_sidebar’)|| !dynamic_sidebar(widget1) ) : ?>
  • <?php endif; ?>
  • <?php if ( !function_exists(‘dynamic_sidebar’)|| !dynamic_sidebar(widget2) ) : ?>
  • <?php endif; ?>
  • 注:在以上A和B中的步骤(1)中register_sidebar的参数要因主题的不同需要做修改,用法可以参考http://codex.wordpress.org/Function_Reference/register_sidebar

    另外说明:网上相关教程很多,但绝大部分教程里面的代码的标点符号都是全角,根本无法使用,你需要把全角自己手工改成半角。而本文的符号全部进行了规范,可以正常使用。

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5064 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 14156817 位访客

    广告区 Guǎng Gào