惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
G
Google Developers Blog
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
小众软件
小众软件
月光博客
月光博客
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
The Cloudflare Blog
博客园_首页
美团技术团队
大猫的无限游戏
大猫的无限游戏
B
Blog
IT之家
IT之家
Jina AI
Jina AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

编程设计 – 云破天开

学习写wordpress插件(三)-云破天开 学习写wordpress插件(一)-云破天开 整理电子书-云破天开 两列数据对比,找出不同数据-云破天开 一个简单实用的网站访客统计PHP源码-云破天开 在线图片处理-云破天开 DOS命令-云破天开 EMLOG头部添加名人名言-云破天开 Emlog实现标题+全文内容搜索方法-云破天开
学习写wordpress插件(二)-云破天开
作者:yptk · 2022-10-23 · via 编程设计 – 云破天开

我们的第一个插件nidaye,如果修改显示内容就要修改源代码,这显然不是我们想要的。继续改进。

今天目标:
1、在后台添加独立页面和菜单
2、用户自定义显示内容,保存在数据库中。

<?php

/*
Plugin Name:ni2daye
Plugin URI: http://www.yptk.cn
Version:V0.1
Author: YPTK
Author URI:http://www.yptk.cn
Description:My second plugin named ni2daye
*/
?>
<?php

/* 注册激活插件时要调用的函数 */ 
register_activation_hook( __FILE__, 'ni2daye_install');

/* 注册停用插件时要调用的函数 */ 
register_deactivation_hook( __FILE__, 'ni2daye_remove' );

function ni2daye_install() {  
    /* 在数据库的 wp_options 表中添加一条记录,第二个参数为默认值 */ 
    add_option("ni_2daye", "我是善变的你二大爷。", '', 'yes');  
}

function ni2daye_remove() {  
    /* 删除 wp_options 表中的对应记录 */ 
    delete_option('ni_2daye');  
}

if( is_admin() ) {
    /*  利用 admin_menu 钩子,添加菜单 */
    add_action('admin_menu', 'display_ni2daye_menu');
}

function display_ni2daye_menu() {
    /* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);  */
    /* 页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面) */
    add_options_page('Set ni2daye', 'ni2daye Menu', 'administrator','display_ni2daye', 'display_ni2daye_html_page');
}

function display_ni2daye_html_page() {
    ?>
    <div>  
        <h2>Set ni2daye</h2>  
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  
 
            <p>  
                <textarea  
                    name="ni_2daye" 
                    id="ni_2daye"
                    cols="40" 
                    rows="6"><?php echo get_option('ni_2daye'); ?></textarea>  
            </p>  
 
            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="ni_2daye" />  
 
                <input type="submit" value="Save" class="button-primary" />  
            </p>  
        </form>  
    </div>  
<?php  
}  
add_filter( 'the_content',  'display_ni2daye' );  
/*the_content 是钩子的名字,display_copyright 是回调函数名称。*/
function display_ni2daye( $content ) {  
        $content = get_option('ni_2daye').$content; //把内容添加到每篇文章的开头。
    return $content;  
}  
?>

成功!

修改,Save成功。

显示成功!

版权共享,随意转载:云破天开 » 学习写wordpress插件(二)