编写PHP脚本使WordPress的主题支持Widget侧边栏

5年以前  |  阅读数:510 次  |  编程语言:PHP 

帮网友小改了一下主题. 任务比较简单, 只是为一个三栏主题添加对 Widget 的支持而已,就先从这次简单的案例开始说吧.

20151214152214148.png \(600×360\)

单侧边栏

functions.php


    <?php
    if( function_exists('register_sidebar') ) {
     register_sidebar(array(
     'before_widget' => '<li class="widget">', // widget 的开始标签
     'after_widget' => '</li>', // widget 的结束标签
     'before_title' => '<h3>', // 标题的开始标签
     'after_title' => '</h3>' // 标题的结束标签
     ));
    }
    ?>

sidebar.php


    <div id="sidebar">
     <ul class="widgets">
    <?php // 如果没有使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) :
    ?>
     <!-- widget 1 -->
     <li class="widget">
     <h3>标题 1</h3>
     <ul>
      <li>条目 1.1</li>
      <li>条目 1.2</li>
      <li>条目 1.3</li>
     </ul>
     </li>
     <!-- widget 2 -->
     <li class="widget">
     <h3>标题 2</h3>
     <ul>
      <li>条目 2.1</li>
      <li>条目 2.2</li>
      <li>条目 2.3</li>
     </ul>
     </li>
    <?php endif; ?>
     </ul>
    </div>

双侧边栏

functions.php


    <?php
    if( function_exists('register_sidebar') ) {
     register_sidebar(array(
     'name' => 'Sidebar_1', // 侧边栏 1 的名称
     'before_widget' => '<li class="widget">', // widget 的开始标签
     'after_widget' => '</li>', // widget 的结束标签
     'before_title' => '<h3>', // 标题的开始标签
     'after_title' => '</h3>' // 标题的结束标签

     ));

     register_sidebar(array(
     'name' => 'Sidebar_2', // 侧边栏 2 的名称
     'before_widget' => '<li class="widget">', // widget 的开始标签
     'after_widget' => '</li>', // widget 的结束标签
     'before_title' => '<h3>', // 标题的开始标签
     'after_title' => '</h3>' // 标题的结束标签

     ));
    }
    ?>

sidebar.php


    <div id="sidebar_1">
     <ul class="widgets">
    <?php // 如果没有在侧边栏 1 中使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar_1') ) :
    ?>
     <!-- widget 1 -->
     <li class="widget">
     <h3>标题 1</h3>
     <ul>
      <li>条目 1.1</li>
      <li>条目 1.2</li>
      <li>条目 1.3</li>
     </ul>
     </li>
    <?php endif; ?>
     </ul>
    </div>

    <div id="sidebar_2">
     <ul class="widgets">
    <?php // 如果没有在侧边栏 2 中使用 Widget 才显示以下内容, 否则会显示 Widget 定义的内容
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar_2') ) :
    ?>
     <!-- widget 2 -->
     <li class="widget">
     <h3>标题 2</h3>
     <ul>
      <li>条目 2.1</li>
      <li>条目 2.2</li>
      <li>条目 2.3</li>
     </ul>
     </li>
    <?php endif; ?>
     </ul>
    </div>


N 侧边栏
请使用数学归纳法进行推理XD

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例