wordpress插件开发学习

   wordpress网上有很多插件,如果没有搜索到你想要的插件,下面我们一步一步的开发自己的插件,wordpress中插件的地方:wKiom1NYxnrQ4bMNAAGedlgGw1w156.jpg

   第一步让wordpress读取你的插件,并显示在后台插件管理的位置,在wordpress的插件目录下面,建立你的插件目录和文件,如图:

wKioL1NYy96id-RHAABzu8ozC7Y315.jpg

然后编辑postsclean.php文件,添加如下内容:

<?php
/*
  Plugin Name: postsclean
  Plugin URI: http://wpsite.com
  Description: 删除posts中自动备份的文章
  Version: 1.0
  Author: 龚政
  Author URI:http://gzinfo.blog.51cto.com/
 */

保存之后,刷新你的后端管理界面,在看插件列表那里是不是多了一个你自己定义的插件

   第二步完善功能,既然是删除posts表中自动保存的文章,需要给出一个html的表单,来触发这个删除操作,首先我们在后台添加一个菜单更主题和用户菜单平级,还是编辑postsclean.php文件,添加如下代码:

<?php
/*
  Plugin Name: postsclean
  Plugin URI: http://wpsite.com
  Description: 删除posts中自动备份的文章
  Version: 1.0
  Author: 龚政
  Author URI:http://gzinfo.blog.51cto.com/
 */
function regist_posts_menu() {
    add_menu_page( '文章清理', '文章清理', 'manage_options', 'PostsClean' );
}
add_action( 'admin_menu', 'regist_posts_menu' );

现在刷新我们的后台,会看到我们添加的菜单项已经成功,如图:wKiom1NY0NXiYW3RAADVbdvePFA061.jpg

这个时候点击文章清理这个菜单,你会发现系统报错:

wKiom1NY0U3gRfv6AAA5_AlLqSI915.jpg

不用怀疑,因为我们还没有为这个插件添加相关的功能,接下来我们添加一个函数,输出一个表单:

<?php
/*
  Plugin Name: postsclean
  Plugin URI: http://wpsite.com
  Description: 删除posts中自动备份的文章
  Version: 1.0
  Author: 龚政
  Author URI:http://gzinfo.blog.51cto.com/
 */
function regist_posts_menu() {
    add_menu_page( '文章清理', '文章清理', 'manage_options', 'PostsClean', 'postsclean_html' );
}
function postsclean_html() {
    ?>
    <form method="post" action="">
        <select name="posts_type">
            <option value="auto-draft">auto-draft</option>
            <option value="inherit">inherit</option>
        </select>
        <input type="submit" value="提交" />
    </form>
    <?php
}
add_action( 'admin_menu', 'regist_posts_menu' );

现在点击菜单,会出现一个非常简单的表单,剩下的就是提交表单之后,我们需要执行什么操作,接着我们继续完善postsclean.php,在表单提交之后删除相关的posts,完整的代码如下:

<?php
/*
  Plugin Name: postsclean
  Plugin URI: http://wpsite.com
  Description: 删除posts中自动备份的文章
  Version: 1.0
  Author: 龚政
  Author URI:http://gzinfo.blog.51cto.com/
 */
//表单提交后删除ID为5的文章
if ( isset( $_POST['posts_type'] ) ) {
    global $wpdb;
    $sql = 'DELETE FROM wp_posts WHERE ID=5';
    $wpdb->query( $sql );
}
function regist_posts_menu() {
    add_menu_page( '文章清理', '文章清理', 'manage_options', 'PostsClean', 'postsclean_html' );
}
function postsclean_html() {
    ?>
    <form method="post" action="">
        <select name="posts_type">
            <option value="auto-draft">auto-draft</option>
            <option value="inherit">inherit</option>
        </select>
        <input type="submit" value="提交" />
    </form>
    <?php
}
add_action( 'admin_menu', 'regist_posts_menu' );

最后验证插件是否执行成功,提交表单后到你的数据库中去看看,ID=5的文章是否删除成功


你可能感兴趣的:(wordpress,插件开发)