编写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设计聊天室步步通
Oct 09 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 PHP
PHP函数篇之掌握ord()与chr()函数应用
Dec 05 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 PHP
PHP数据库处理封装类实例
Dec 24 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 PHP
解决Laravel blade模板转义html标签的问题
Sep 03 PHP
laravel使用数据库测试注意事项
Apr 10 PHP
PHP类的自动加载与命名空间用法实例分析
Jun 05 PHP
如何解决php-fpm启动不了问题
Nov 17 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程序的php代码
2008/04/07 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
深入php处理整数函数的详解
2013/06/09 PHP
php二分查找二种实现示例
2014/03/12 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
javascript操作数组详解
2014/12/17 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
python计算auc指标实例
2017/07/13 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
【python】matplotlib动态显示详解
2019/04/11 Python
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
公司财务自我评价分享
2013/12/17 职场文书
专业技术职务聘任书
2014/03/29 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
python四种出行路线规划的实现
2021/06/23 Python