发表于 2016-10-19 05:14:31 by 月小升
用一个基础的插件来理解wordpress的插件编写
这个插件仅仅将wp_options表中 option_name为 yuexiaosheng_test1_from的那条纪录的值
插件在后台有菜单,有窗口,有数据库交互,仔细理解能看见一个比较完整的插件体系了。
<?php
/*
Plugin Name: 下载插件
Plugin URI: http://java-er.com
Description: 这仅仅是一个测试
Version: The Plugin's Version Number, e.g.: 1.0
Author: 月小升
Author URI: http://java-er.com
License: A "Slug" license name e.g. GPL2
*/
$pluginName = '月小升测试插件2'; //插件名称
$shortName = 'javaer'; //插件简写
//此处为将前台所有title,加黑
//add_filter的理解就是在任何前台字符展示的时候,给于增加一层过滤网。
// add_filter('the_title', function($title) { return '<b>'. $title. '</b>';});
//这里用来接受用户输入的数据,并进行处理
function yuexiaosheng_add_admin() {
global $pluginName, $shortName;
if($_POST['yuexiaosheng_test1']!=""){
update_option( "yuexiaosheng_test1_from", $_POST['yuexiaosheng_test1'] );//前面为存储的key,后面的为value。修改数据库wp_options option_name yuexiaosheng_test1_from的值
}
add_theme_page($pluginName, $pluginName, 'edit_themes', basename(__FILE__), 'yuexiaosheng_plugin_admin');//菜单显示的地方
}
//个人理解为edit_themes为加入到外观菜单下面
//这里用来展示后台控制的前端页面
function yuexiaosheng_plugin_admin() {
echo '这个是后台测试?能看见什么么?';
echo '<form method="post">
<input type="text" name="yuexiaosheng_test1">
<input type="submit" value="保存">
</form>
';
}
add_action('admin_menu', 'yuexiaosheng_add_admin');
?> |
<?php
/*
Plugin Name: 下载插件
Plugin URI: http://java-er.com
Description: 这仅仅是一个测试
Version: The Plugin's Version Number, e.g.: 1.0
Author: 月小升
Author URI: http://java-er.com
License: A "Slug" license name e.g. GPL2
*/
$pluginName = '月小升测试插件2'; //插件名称
$shortName = 'javaer'; //插件简写
//此处为将前台所有title,加黑
//add_filter的理解就是在任何前台字符展示的时候,给于增加一层过滤网。
// add_filter('the_title', function($title) { return '<b>'. $title. '</b>';});
//这里用来接受用户输入的数据,并进行处理
function yuexiaosheng_add_admin() {
global $pluginName, $shortName;
if($_POST['yuexiaosheng_test1']!=""){
update_option( "yuexiaosheng_test1_from", $_POST['yuexiaosheng_test1'] );//前面为存储的key,后面的为value。修改数据库wp_options option_name yuexiaosheng_test1_from的值
}
add_theme_page($pluginName, $pluginName, 'edit_themes', basename(__FILE__), 'yuexiaosheng_plugin_admin');//菜单显示的地方
}
//个人理解为edit_themes为加入到外观菜单下面
//这里用来展示后台控制的前端页面
function yuexiaosheng_plugin_admin() {
echo '这个是后台测试?能看见什么么?';
echo '<form method="post">
<input type="text" name="yuexiaosheng_test1">
<input type="submit" value="保存">
</form>
';
}
add_action('admin_menu', 'yuexiaosheng_add_admin');
?>
如果想直接在主菜单里增加按钮
add_menu_page($pluginName, $pluginName, 'manage_options', basename(__FILE__), 'yuexiaosheng_plugin_admin');//菜单显示的地方 |
add_menu_page($pluginName, $pluginName, 'manage_options', basename(__FILE__), 'yuexiaosheng_plugin_admin');//菜单显示的地方
子菜单
add_submenu_page( 'my-top-level-slug', 'My Custom Page', 'My Custom Page', 'manage_options', 'my-top-level-slug');
or
add_submenu_page(
'options.php'
, 'My Custom Submenu Page'
, 'My Custom Submenu Page'
, 'manage_options'
, 'my-custom-submenu-page'
, 'my_custom_submenu_page_callback'
);
} |
add_submenu_page( 'my-top-level-slug', 'My Custom Page', 'My Custom Page', 'manage_options', 'my-top-level-slug');
or
add_submenu_page(
'options.php'
, 'My Custom Submenu Page'
, 'My Custom Submenu Page'
, 'manage_options'
, 'my-custom-submenu-page'
, 'my_custom_submenu_page_callback'
);
}
This entry was posted in
PHP and tagged
wordpress,
wordpress插件,
插件. Bookmark the
permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:
月小升博客 –
https://java-er.com/blog/wordpress-plug-write/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.
很好