WordPress插件制作笔记(二)---Second Plugins Demo

1->插件演示代码:下载地址:http://pan.baidu.com/s/1gd1lFlL

在 wordpress/wp-content/plugins/ 目录下 新建一个文件夹取名为second_plugins_demo(或自己定义),在新建的second_plugins_demo目录下新建second_plugins_demo.php(自定义.php但要求与父级目录名一直)文件,将以下代码拷贝到second_plugins_demo.php文件中保存,刷新wordpress后台-插件菜单-已安装的插件,启用second_plugins_demo 插件即可

目录示例:*/wordpress/wp-content/plugins/second_plugins_demo/second_plugins_demo.php

<?php 

/**

*Plugin Name: Second Plugins Demo

*Plugin URI: http://www.cnblogs.com/fxmbz/p/4030286.html

*Description: Second Plugins Demo, This plugin shows a line end of welcome information on the content, add the Settings menu button In the Settings men

*Version: 1.0

*Author: Zhangxl

*Author URI: http://www.cnblogs.com/fxmbz

*License: GPL

*Text Domain: 29583035

*/



/**

 * add_action funtions not exists exit and prompt

 */

if ( !function_exists( 'add_action' ) ) {

    echo 'Hi there!  I\'m just a plugin, not much I can do when cwholeed directly.';

    exit;

}

/**

 * [add_action($hook,$function)]

 * [add_css_link add css link]

 */

add_action( 'wp_head','add_css_link' );

function add_css_link() {

    $styleUrl = plugin_dir_url( __FILE__ ) . 'css/style.css';

    echo "<link rel='stylesheet' href='$styleUrl'>";

}



/**

 * [register_activation_hook run set_text_options]

 */

register_activation_hook( __FILE__, 'set_text_options' );



/**

 * [register_deactivation_hook run del_text_options]

 */

register_deactivation_hook( __FILE__, 'del_text_options' );



/**

 * [set_text_options insert data in the options table]

 */

function set_text_options() {

    add_option( 'display_text_thearticle', '<p id="display_text_thearticle">Welcome to second plugin testing! This plugin is only added word at the end of the article. author: Zhangxl, Email: [email protected]</p>' );

}



/**

 * [del_text_options delete data in the options table]

 */

function del_text_options() {

    delete_option( 'display_text_thearticle' );

}



/**

 * [add_action add text to the content end]

 * [display_text is single show content and new add infomation]

 * @param  [type] $content [the source article content]

 * @return [type]          [string]

 */

add_action('the_content','display_text');

function display_text($content) {

    if ( is_single() ) {

        $content = $content . get_option( 'display_text_thearticle' );

        return $content;

    } else {

        return $content;

    }

}



/**

 * is admin page run [add_action($hook,$function) ]

 */

if ( is_admin() ) {

    add_action('admin_menu','display_text_menu');

}



/**

 * [display_text_menu add admin menu settings page]

 * @return [type] [description]

 */

function display_text_menu() {

     // add_options_page( $page_title, $menu_title, $capability(权限), $menu_slug(URL-friendly name), $function );

    add_options_page('Text Settings', 'Text Settings', 'manage_options', 'display_text_thearticle','display_text_html_page');

}



/**

 * [display_text_html_page settings page form]

 * @return [type] [description]

 */

function display_text_html_page() {

?>

<div>   

    <h2>Settings Version information</h2>   

    <form method="post" action="options.php">   

        <!-- 下面这行代码用来保存表单中内容到数据库(官网的方法) -->

        <?php wp_nonce_field( 'update-options' ); ?>   

        <p>   

            <textarea cols="80" rows="6" name="display_text_thearticle" id="display_text_thearticle" ><?php echo get_option('display_text_thearticle'); ?></textarea>

        </p>

        

        <!-- 下面这两个隐藏字段为必须,其中第二个字段的值为要修改的字段名(官网的方法) -->

        <p>

            <input type="hidden" name="action" value="update" />   

            <input type="hidden" name="page_options" value="display_text_thearticle" />

            <input type="submit" value="Save Changes" class="button-primary" />

        </p>

    </form>

</div>

<?php }



?>

 

你可能感兴趣的:(wordpress)