编写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 字符串操作入门教程
Dec 06 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
php 批量添加多行文本框textarea一行一个
Jun 03 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
纯PHP代码实现支付宝批量付款
Dec 24 PHP
浅谈PHP中的错误处理和异常处理
Feb 04 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
laravel框架与其他框架的详细对比
Oct 23 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
mysql 搜索之简单应用
2007/04/27 PHP
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
javascript JSON操作入门实例
2010/04/16 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
设置python3为默认python的方法
2018/10/31 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
Python eval函数介绍及用法
2020/11/09 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
澳大利亚相机之家:Camera House
2017/11/30 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
如何整合JQuery和Prototype
2014/01/31 面试题
简历自我评价怎么写好呢?
2014/01/04 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
《草船借箭》教学反思
2016/02/23 职场文书