音乐

  1. Fields Of Gold - Sting
  2. Beautiful Girl - INXS
  3. Take Me To Church - Hozier
  4. Stephanie Says - Lady & Bird
  5. All of Me - John Legend
  6. 一丝不挂 - 陈奕迅
PHPTalk2.0 新版全新上线,欢迎体验

WordPress插件制作笔记


设置头部信息

找到/wpproject/wp-content/plugins/目录,新建一个插件目录,如testplugin,之后创建一个index.php文件,写入以下插件注释。

/*
Plugin Name: 插件名称
Plugin URI: 插件主页地址
Description: 简介.
Version: 版本号
Author: 作者
Author URI: 作者链接
*/

add_action函数的使用

add_action的作用是将函数连接到指定action(动作),我们可以简单的理解成当页面触发了什么事件然后调用我们的插件,下面的例子说明当后台页面加载head之后输出一段文字。

<?php
/*
Plugin Name: 插件名称
Plugin URI: 插件主页地址
Description: 简介.
Version: 版本号
Author: 作者
Author URI: 作者链接
*/

function loadTest(){
    echo '加载到我了哦~';
}

add_action('admin_head','loadTest');

?>

add_action函数说明

Plugin API/Action Reference 上查看动作hook列表。wordpress核心调用do_action() 时触发动作。

用法

add_action( $tag, $function_to_add, $priority,$accepted_args );

参数

$tag

(字符串)(必填)$functiontoadd 所挂载的动作(action)的名称。(在Plugin API/Action Reference上查看动作hook列表)。也可以是一个主题或插件文件内部的一个动作,或者特定的标签“all”,这个函数将被所有的钩子(hooks)调用。

默认值:None

$functiontoadd

(回调)(必填)你希望挂载的函数的名称。注:在 PHP“回调”类型文档中 所罗列的字符串格式化的语法均可用。

默认值:None

$priority

(整数)(可选)用于指定与特定的动作相关联的函数的执行顺序。数字越小,执行越早,具有相同优先级的函数在它们被添加到动作的顺序执行。

默认值:10

$accepted_args

(整数)(可选)挂钩函数所接受的参数数量。在 WordPress1.5.1 及以后的版本中,挂钩函数可以是调用doaction() 或 applyfilters()时设置的参数。例如,commentidnot_found动作将传递任何函数,若该函数将所请求的评论编号连接到该动作。

默认值:1

带配置页的完整插件实例

<?php

/* wp欢迎提示demo,当后台head加载完成会调用该插件,
 * 输入欢迎提示,在配置页面可以配置提示信息颜色
 ***************************************************************/

/*
Plugin Name: 欢迎提示
Plugin URI: http://phptalk.cn
Description: 这是一个简单的插件,当后台头部载入完成后显示欢迎提示.
Version: 1.0.0
Author: 崔自伟
Author URI: http://phptalk.cn
*/

//设置监听事件:当载入完成admin_head部分执行loadTest函数
add_action('admin_head','loadTest');
function loadTest(){
    echo '<div style="line-height:50px;text-align:center;font-size:16px;color:'.get_option('text_color').'">欢迎来到Wordpress的世界~</div>';
}

//载入后台菜单的时候执行create_admin_page,创建该插件配置页面
add_action('admin_menu','create_admin_page');
function create_admin_page(){

    /*
     * add_options_page(创建配置页面)
     * @param1 页面标题
     * @param2 菜单名称
     * @param3 当前用户是否可以访问(manage_options即可)
     * @param4 页面url名称
     * @param5 创建完成此菜单后回调
     */

    add_options_page('配置欢迎提示','配置欢迎提示','manage_options','test_option_url','create_page');
}

//创建配置页面回调
function create_page(){
    if($_SERVER['REQUEST_METHOD']=='POST'){
        //更改设置
        update_option('text_color',$_POST['text_color']);

        exit("<h2>更改成功!刷新后生效</h2>");
    }
    echo "<h2>欢迎提示配置</h2><form method='post'>
        文本颜色:<input type='text' name='text_color' value='".get_option('text_color')."' />
        <input type='submit' name='submit' value='提交' />
    </form>";
}


//启用该插件初始化执行
register_activation_hook( __FILE__,'initOption');

//停用该插件时执行清理
register_deactivation_hook( __FILE__,'clearOption');

//初始化配置信息
function initOption(){

    //默认设置字体颜色为红色
    add_option('text_color','red');
}

//清理配置信息
function clearOption(){
    //删除设置字体颜色
    delete_option('text_color');
}
?>