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: 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的更多相关文章
- WordPress插件制作笔记(一)---First Plugins Demo
1->add_action HOOK简单说明: http://codex.wordpress.org/Plugin_API/Action_Reference (参考网址) //在后台页脚位置加 ...
- WordPress插件制作教程(二): 编写一个简单的插件
上一篇说到了如何创建一个插件,我想大家看了之后一定会有所收获,这一篇简单给大家写一个插件样例,让大家有一个基本的印象.这个插件的样例就是当你激活这个插件后会在你的每篇文章中插入一段自己定义好的内容,比 ...
- WordPress插件制作笔记(三)---Stars Comments Article
wp 文章星级评价 插件 下载地址4:http://pan.baidu.com/s/1eQnGIGU [articles_star_vote_score_optiontable_serialize_c ...
- WordPress插件制作教程概述
接下来的一段时间里,开始为大家讲解WordPress插件制作系列教程,这篇主要是对WordPress插件的一些介绍和说明,还有一些我们需要注意的地方,以及需要掌握的知识. WordPress插件允许你 ...
- WordPress插件制作教程(一): 如何创建一个插件
上一篇还是按照之前的教程流程,写了一篇WordPress插件制作教程概述,从这一篇开始就为大家具体讲解WordPress插件制作的内容.这一篇主要说一下插件的创建方法. 相信大家都知道插件的安装文件在 ...
- WordPress插件制作教程(八): 最后总结
WordPress插件教程最后一篇,还是为大家简单的做下总结.这次插件制作教程讲的内容和知识点个人觉得不是很多,因为插件制作不单单是这些内容,它涉及的知识很多很多,不是说你会一些函数就可以做出一个好的 ...
- WordPress插件制作教程(六): 插件函数之动作(Actions)函数
这一篇为大家说一下WordPress插件函数吧,要制作插件,了解这些函数是非常有必要的 WordPress插件函数分为“动作”(Actions)和过滤器”(Filters),WordPress 使用这 ...
- WordPress插件制作教程(三): 添加菜单的方法
上一篇编写了一个简单的插件,让大家对插件的简单制作有个了解,这一篇我们在更深一步,当我们激活插件后后台会显示菜单出来,然后通过单击菜单显示自己定义好的信息.激活之后会在WordPress后台显示一个菜 ...
- WordPress插件制作教程(七): 插件函数之过滤器(Filter)函数
上一篇对插件函数之动作(Action)函数做了下介绍,这篇在介绍下过滤器(Filters). 过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定运行( ...
随机推荐
- POJ1636 动态规划+并查集
POJ1636 问题重述: 两个监狱中各有m个囚犯,欲对这两个监狱中的囚犯进行等数量的交换.已知某些囚犯不能关押在同一个监狱,求解可以交换人数的最大值k (k < m/2). 分析: 假设监狱1 ...
- mysql 5.7 内存使用监控
5.7 中的performance_schema 已经有能力监控mysql 的内存使用情况了,对于这一点也是要通过instrument 来实现的,由于内存这一块没有对应的consumer 所以只要 配 ...
- Using ROWNUM in Oracle
ROWNUM is an Oracle pseudo column which numbers the rows in a result set. SELECT rownum, table_nameF ...
- content的定义
http://www.myexception.cn/HTML-CSS/1472528.html http://stackoverflow.com/questions/2770681/css-conte ...
- hdu 1142 A Walk Through the Forest
http://acm.hdu.edu.cn/showproblem.php?pid=1142 这道题是spfa求最短路,然后dfs()求路径数. #include <cstdio> #in ...
- 深入浅出Node.js (4) - 异步编程
4.1 函数式编程 4.1.1 高阶函数 4.1.2 偏函数用法 4.2 异步编程的优势与难点 4.2.1 优势 4.2.2 难点 4.3 异步编程解决方案 4.3.1 事件发布/订阅模式 4.3.2 ...
- 转:Asp.Net MVC中DropDownListFor的用法
在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model ,用户在 DropDownLis ...
- Net-Snmp安装配置
1. 下载安装 net-snmp安装程序:net-snmp-5.4.2.1-1.win32.exe Perl安装程序:ActivePerl-5.10.0.1004-MSWin32-x86-287188 ...
- 4Sum 解答
Question Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c ...
- OS error set
Failed to resolve/decode supposed IPv4 source addres Failed to resolve/decode supposed IPv4 source a ...