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: 29583035@qq.com</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插件制作笔记(二)---Second Plugins Demo的更多相关文章

  1. WordPress插件制作笔记(一)---First Plugins Demo

    1->add_action  HOOK简单说明: http://codex.wordpress.org/Plugin_API/Action_Reference (参考网址) //在后台页脚位置加 ...

  2. WordPress插件制作教程(二): 编写一个简单的插件

    上一篇说到了如何创建一个插件,我想大家看了之后一定会有所收获,这一篇简单给大家写一个插件样例,让大家有一个基本的印象.这个插件的样例就是当你激活这个插件后会在你的每篇文章中插入一段自己定义好的内容,比 ...

  3. WordPress插件制作笔记(三)---Stars Comments Article

    wp 文章星级评价 插件 下载地址4:http://pan.baidu.com/s/1eQnGIGU [articles_star_vote_score_optiontable_serialize_c ...

  4. WordPress插件制作教程概述

    接下来的一段时间里,开始为大家讲解WordPress插件制作系列教程,这篇主要是对WordPress插件的一些介绍和说明,还有一些我们需要注意的地方,以及需要掌握的知识. WordPress插件允许你 ...

  5. WordPress插件制作教程(一): 如何创建一个插件

    上一篇还是按照之前的教程流程,写了一篇WordPress插件制作教程概述,从这一篇开始就为大家具体讲解WordPress插件制作的内容.这一篇主要说一下插件的创建方法. 相信大家都知道插件的安装文件在 ...

  6. WordPress插件制作教程(八): 最后总结

    WordPress插件教程最后一篇,还是为大家简单的做下总结.这次插件制作教程讲的内容和知识点个人觉得不是很多,因为插件制作不单单是这些内容,它涉及的知识很多很多,不是说你会一些函数就可以做出一个好的 ...

  7. WordPress插件制作教程(六): 插件函数之动作(Actions)函数

    这一篇为大家说一下WordPress插件函数吧,要制作插件,了解这些函数是非常有必要的 WordPress插件函数分为“动作”(Actions)和过滤器”(Filters),WordPress 使用这 ...

  8. WordPress插件制作教程(三): 添加菜单的方法

    上一篇编写了一个简单的插件,让大家对插件的简单制作有个了解,这一篇我们在更深一步,当我们激活插件后后台会显示菜单出来,然后通过单击菜单显示自己定义好的信息.激活之后会在WordPress后台显示一个菜 ...

  9. WordPress插件制作教程(七): 插件函数之过滤器(Filter)函数

    上一篇对插件函数之动作(Action)函数做了下介绍,这篇在介绍下过滤器(Filters). 过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定运行( ...

随机推荐

  1. talos项目记录

    1. 跑schedule : php src/cli-schedule/cli.php -a sales.coupon.offer-coupons  所用方法在schedule里

  2. 第一次碰到try-except(core python programming 2nd Edition 3.6)

    # coding: utf-8 # 使用Windows系统,首行'#!/usr/bin/env Pyton'无用,全部改为'# coding: utf-8' 'readtextfile.py -- r ...

  3. SEO教程:向百度要流量 第一季

    首先祝贺你:当你看到这篇文章时,你已经站在一条通往SEO达人捷径的路口. 笔者也是今年年初才成为SEOer的一员,在做SEO的过程中,有不少自己独特的心得体会,所以一直酝酿着写一个SEO系列的文章,将 ...

  4. .NET抽象工厂模式微理解--教你在项目中实现抽象工厂

    .NET抽象工厂模式微理解--教你在项目中实现抽象工厂 最近在学习MVC,对于MVC里面的一些项目上的东西都和抽象模式有关,今天就微说明一下个人对于抽象工厂模式的理解,以方便学习MVC及工厂模式相关的 ...

  5. (转)Autotrace工具使用——小工具,大用场

    监控SQL语句,获取执行计划和执行成本,是每个Oracle开发人员与DBA所必须具备的能力之一. 当Oracle彻底进入CBO时代,我们面对一种全新的局面.一方面,基于数据统计量的CBO优化器,让SQ ...

  6. LeetCode_Reverse Linked List II

    Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Given -> ...

  7. VBS 操作注册表 十六进制

    使用VBS操作注册表,通常使用RegRead/RegWrite/RegDelete方法,如: RegRead: 'read.vbs(将以下代码存为read.vbs文件) Dim OperationRe ...

  8. mybatis源代码分析:mybatis延迟加载机制改进

    在上一篇博客<mybatis源代码分析:深入了解mybatis延迟加载机制>讲诉了mybatis延迟加载的具体机制及实现原理. 可以看出,如果查询结果对象中有一个属性是需要延迟加载的,那整 ...

  9. poj1552

    Doubles Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18824   Accepted: 10846 Descrip ...

  10. CharacterController 角色控制器实现移动和跳跃

    之前我使用SimpleMove来控制角色的移动, 后来又想实现人物的跳跃, 看见圣典里面是使用Move来实现的. =.= 然后我都把他们改成move来实现了 代码实现: using UnityEngi ...