编写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 相关文章推荐
Zend framework处理一个http请求的流程分析
Feb 08 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
php面象对象数据库操作类实例
Dec 02 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
Jul 29 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
完美解决thinkphp唯一索引重复时出错的问题
Mar 31 PHP
PHP 多任务秒级定时器的实现方法
May 13 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
PHP大文件分片上传的实现方法
Oct 28 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判断指定时间段的2个方法
2014/03/14 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
javascript history对象详解
2017/02/09 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
vue cli 全面解析
2018/02/28 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
python进阶教程之循环对象
2014/08/30 Python
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
Python使用minidom读写xml的方法
2015/06/03 Python
python学习必备知识汇总
2017/09/08 Python
python 读写中文json的实例详解
2017/10/29 Python
Python用for循环实现九九乘法表
2018/05/31 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
python中列表的含义及用法
2020/05/26 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
大学本科生的个人自我评价
2013/12/09 职场文书
导游实习生自荐书
2014/01/28 职场文书
眼镜促销方案
2014/03/15 职场文书
祖国在我心中演讲稿600字
2014/05/04 职场文书
公司年会策划方案
2014/05/17 职场文书
行风评议整改报告
2014/11/06 职场文书
数学教师求职信范文
2015/03/20 职场文书
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
Springboot中如何自动转JSON输出
2022/06/16 Java/Android