WordPress中使主题支持小工具以及添加插件启用函数


Posted in PHP onDecember 22, 2015

让主题支持小工具
WordPress 的小工具(widget)是一大特色,它让用户自由拖动组合内容,而且任何插件和主题都可以添加一个额外的小工具,增加扩展性。

默认情况下,一个主题并不会支持小工具,需要主题开发者启用小工具功能并把小工具在相应的前台位置调用出来,这样用户才能在后台直接拖动生成侧边栏。

本文就来教你如何激活小工具功能,并且添加一个侧边栏,最后在前台显示出来。

注册侧边栏

默认的,后台外观下是没有 “小工具” 这个菜单按钮的,如果想要让他出现,就至少需要注册一个侧边栏,否则即使显示出来,也没有用。

注册一个侧边栏需要使用 register_sidebar() 函数,用法比较简单,只有一个属性,填上需要的信息就行了。

register_sidebar( array(
 'name' => __( '默认侧边栏', 'Bing' ),//侧边的名字
 'id' => 'widget_default',//侧边栏的 ID,注册多个侧边栏的时候不要重复
 'description' => __( '侧边栏的描述', 'Bing' ),//侧边栏的描述,会在后台显示
 'before_widget' => '<div class="widget %2$s">',//侧边栏里的小工具的开头代码,可以在里边使用 %2$s 来调用小工具的 ID,实现给每个小工具添加不同的样式
 'after_widget' => '</div>',//侧边栏里的小工具的结尾代码
 'before_title' => '<h3 class="widget-title">',//侧边栏里的小工具的标题的开头代码
 'after_title' => '</h3>'//侧边栏里的小工具的标题的结尾代码
) );

运用上边的例子代码,就能创建出一个侧边栏,外观下也显示 “小工具” 按钮了。

WordPress中使主题支持小工具以及添加插件启用函数

在这个侧边栏里,用户就可以自由的添加小工具了。复制代码,还可以创建更多的侧边栏。

调用侧边栏

光注册是没有意义的,用户添加之后,还要把小工具显示在前台才可以,这就用到了 dynamic_sidebar() 函数。

一般情况下,我们需要先判断一下小工具区域内是否添加了小工具,如果添加了,则显示小工具,否则提示用户添加小工具。判断侧边栏里是否被添加了小工具需要使用 is_active_sidebar() 函数。

<?php
if( is_active_sidebar( 'widget_default' ) ){
 echo '<aside id="sidebar">';
  dynamic_sidebar( 'widget_default' );
 echo '</aside>';
}else{
 echo '<p>请设置小工具</p>';
}
?>

非常简单吧,调用好后,前台的小工具就会按照注册时给出的格式一个一个的输出了。

添加插件启用函数
register_activation_hook() 可以让你添加一个函数,这个函数会在指定插件启用时执行,一般用于插件开发。

用法

register_activation_hook( $file, $function );

参数

$file

(字符串)(必须)需要在启用时执行函数的插件的主文件路径,如果是当前插件,直接写 __FILE__ 即可。

$function

(回调函数)(必须)执行的函数。

例子

function Bing_myplugin_activate(){
 global $wpdb;
 $wpdb->query( '' );//创建一些数据表
}
register_activation_hook( __FILE__, 'Bing_myplugin_activate' );

其它

此函数位于:wp-includes/plugin.php

PHP 相关文章推荐
php中文件上传的安全问题
Oct 09 PHP
PHP4在Windows2000下的安装
Oct 09 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
Jul 17 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 PHP
PHP滚动日志的代码实现
Jun 10 PHP
PHP程序员不应该忽略的3点
Oct 09 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
Zend Framework动作助手Url用法详解
Mar 05 PHP
利用PHP实现开心消消乐的算法示例
Oct 12 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 #PHP
PHP使用mkdir创建多级目录的方法
Dec 22 #PHP
PHP按指定键值对二维数组进行排序的方法
Dec 22 #PHP
php删除数组中重复元素的方法
Dec 22 #PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 #PHP
PHP内核探索之解释器的执行过程
Dec 22 #PHP
PHP内核探索之变量
Dec 22 #PHP
You might like
聊天室php&amp;mysql(一)
2006/10/09 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
Python XML RPC服务器端和客户端实例
2014/11/22 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
印度网上药店:1mg
2017/10/13 全球购物
美国在线购物频道:Shop LC
2019/04/21 全球购物
JAVA代码查错题
2014/10/10 面试题
实习单位接收函模板
2014/01/10 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
小学安全教育材料
2014/02/17 职场文书
爱心捐助倡议书
2014/05/19 职场文书
建筑结构施工求职信
2014/07/11 职场文书
家具商场的活动方案
2014/08/16 职场文书
甘南现象心得体会
2014/09/11 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
公司酒会主持词
2015/07/02 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android