编写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 删除记录同时删除图片文件的实现代码
May 12 PHP
PHP导入Excel到MySQL的方法
Apr 23 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
php通过文件流方式复制文件的方法
Mar 13 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
PHP中foreach()用法汇总
Jul 02 PHP
php生成与读取excel文件
Oct 14 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 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多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
php获取随机数组列表的方法
2014/11/13 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
Python生成随机密码的方法
2017/06/16 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
用C语言实现文件读写操作
2013/10/27 面试题
学生个人自我鉴定
2014/03/26 职场文书
小学四年级学生评语
2014/12/26 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang