编写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 mysql索引问题
Jun 07 PHP
用PHP程序实现支持页面后退的两种方法
Jun 30 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
openflashchart 2.0 简单案例php版
May 21 PHP
深入PHP内存相关的功能特性详解
Jun 08 PHP
php实现通用的信用卡验证类
Mar 24 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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 insert语法详解
2008/06/07 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
List Installed Software Features
2007/06/11 Javascript
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
python线程join方法原理解析
2020/02/11 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
开业庆典答谢词
2014/01/18 职场文书
五年级语文教学反思
2014/01/30 职场文书
长征观后感
2015/06/09 职场文书
工作经历证明范本
2015/06/15 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android