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


Posted in PHP onDecember 14, 2015

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

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

单侧边栏

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 相关文章推荐
php Try Catch异常测试
Mar 01 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
php从右向左/从左向右截取字符串的实现方法
Nov 28 PHP
php实现rc4加密算法代码
Apr 25 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
PHP函数getenv简介和使用实例
May 12 PHP
php查询ip所在地的方法
Dec 05 PHP
php+mysql删除指定编号员工信息的方法
Jan 14 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 #PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 #PHP
php类中的$this,static,final,const,self这几个关键字使用方法
Dec 14 #PHP
Yii2隐藏frontend/web和backend/web的方法
Dec 12 #PHP
使用PHP+AJAX让WordPress动态加载文章的教程
Dec 11 #PHP
WordPress中制作导航菜单的PHP核心方法讲解
Dec 11 #PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 #PHP
You might like
使用php+xslt在windows平台上
2006/10/09 PHP
PHP令牌 Token改进版
2008/07/18 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
JavaScript 数组详解
2013/10/10 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
js比较日期大小的方法
2015/05/12 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
vue.js实现的经典计算器/科学计算器功能示例
2018/07/11 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
浅谈JS的原型和继承
2019/05/08 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
js实现星星打分效果
2020/07/05 Javascript
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
哈弗商学院毕业生求职信
2014/02/26 职场文书
食品工程专业求职信
2014/06/15 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
防震减灾主题班会
2015/08/14 职场文书
话题作文之学会尊重
2019/12/16 职场文书
Java实现学生管理系统(IO版)
2022/02/24 Java/Android