如何编写一个 WordPress插件

如何自己动手写一个简单的 WordPress 插件,此插件是根据官方提供的 Hello Dolly 改进而来。要想读懂本文中的内容,你需要对 WordPress 的基本功能和 PHP 编程有一定的了解。 那么开始 首先我们先起一个插件的名字,插件的名字应该是一个独一无二的。如果不确定这个名字是否被使用过,你可以在后台搜索一下是否已经被使用。为了方便,我们使用 Hello World 作

如何编写一个 WordPress插件

如何自己动手写一个简单的 WordPress 插件,此插件是根据官方提供的 Hello Dolly 改进而来。要想读懂本文中的内容,你需要对 WordPress 的基本功能和 PHP 编程有一定的了解。

那么开始

首先我们先起一个插件的名字,插件的名字应该是一个独一无二的。如果不确定这个名字是否被使用过,你可以在后台搜索一下是否已经被使用。为了方便,我们使用 Hello World 作为插件的名字。

下一步就是根据插件的名字,去到 wp-content/plugins/ 目录下,创建插件的文件夹和一个 PHP 主文件。插件文件夹的名称通常和插件 PHP 文件的名称相同,例如我们的插件的名字叫做 “Hello World”,那么插件的文件夹叫做 “hello-world” 而 PHP 主文件的名字就可以是 “hello-world.php”,目录结构如下:

/-- wp-content/plugins/     /-- hello-world/        /-- hello-world.php

插件信息头

WordPress 通过插件信息头识别插件的存在,并把它加入到控制面板的插件管理页面,这样插件才能激活,载入插件,并运行里面的函数;如果没有信息头,插件将无法激活和使用。

向插件的主文件添加如下的代码:

<?php/** * Plugin Name: Hello World(我们定义的插件名) * Plugin URI: http://icodechef.com(插件的主页) * Description: 这里填入插件的描述 * Version: 1.0.0 * Author: icodechef * Author URI: http://icodechef.com */

我们可以看到,插件信息是以 PHP 的注释出现的。

开始编写插件

首先,了解一下 WordPress 的 “插件钩子” 这个概念,”插件钩子” 的工作原理简单来说,就是运行到 PHP 文件某个位置,然后在这个位置不断执行相关的函数。例如,拿 wp_head 这个钩子来说:

添加函数到 wp_head 这个钩子:

function foo() {    // code...} function bar() {    // code...} add_action( \'wp_head\', \'foo\' );add_action( \'wp_head\', \'bar\' );

当 WordPress 运行到 wp_head 所定义的这个位置时,就会分别执行 foo(), bar()。

好了,我们回到编写插件中,首先定义创建一个叫做 hello_world_get_words 的函数,程序的代码非常简单,就是随机输出一些问候语,代码如下:

function hello_world_get_words() {    $greetings = array(        \'Hello World\',        \'How’s it going?\',        \'What’s up?\',        \'How’s everything?\',        \'Nice to see you\',        \'Long time no see\',        \'How do you do?\',        \'Are you OK?\',        \'Yo!\',        \'Howdy!\',        \'Hiya!\',        \'G’day mate!\',    );     return wptexturize( $greetings[ mt_rand( 0, count( $greetings ) - 1 ) ] );}

再创建一个 hello_world 函数,获取问候语并格式化输出内容。

function hello_world() {    $chosen = hello_world_get_words();    echo \"<p id=\'world\'>\" . get_bloginfo( \'name\', \'display\' ) . \" 跟你说:{$chosen}</p>\";} add_action( \'wp_footer\', \'hello_world\' );

这一行 add_action( ‘wp_footer’, ‘hello_world’ ); 表示在页脚执行 hello_world 这个函数。

打印样式

我们还可以为输出定义样式(css)

function hello_world_css() {    echo \"    <style type=\'text/css\'>    #world {        position: fixed;        bottom: 0;        right:0;        background-color:#f8f8f8;             padding:15px 20px;        margin: 0;        font-size: 15px;        z-index:1000;        border:1px soild #999;        border-radius: 4px;        color: #da4453;    }    </style>    \";} add_action( \'wp_head\', \'hello_world_css\' );

这里不多作解释了。

完整代码:

<?php/*Plugin Name: Hello worldPlugin URI: https://github.com/icodechef/hello-worldDescription: just a pluginAuthor: iCodeChefVersion: 1.0Author URI: http://icodechef.comLicense: MIT*/ function hello_world_get_words() {    $greetings = array(        \'Hello World\',        \'How’s it going?\',        \'What’s up?\',        \'How’s everything?\',        \'Nice to see you\',        \'Long time no see\',        \'How do you do?\',        \'Are you OK?\',        \'Yo!\',        \'Howdy!\',        \'Hiya!\',        \'G’day mate!\',    );     return wptexturize( $greetings[ mt_rand( 0, count( $greetings ) - 1 ) ] );} function hello_world() {    $chosen = hello_world_get_words();    echo \"<p id=\'world\'>\" . get_bloginfo( \'name\', \'display\' ) . \" 跟你说:{$chosen}</p>\";} add_action( \'wp_footer\', \'hello_world\' ); function hello_world_css() {    echo \"    <style type=\'text/css\'>    #world {        position: fixed;        bottom: 0;        right:0;        background-color:#f8f8f8;             padding:15px 20px;        margin: 0;        font-size: 15px;        z-index:1000;        border:1px soild #999;        border-radius: 4px;        color: #da4453;    }    </style>    \";} add_action( \'wp_head\', \'hello_world_css\' );

然后我们到后台管理页面,启用 Hello World 这个插件,然后查看一下效果吧。

总结:
其实这个教程相当于demo版本,对新手熟悉Wordpress插件的开发流程,是个简单的了解,希望对你有用!

原创文章,作者:蓝色创想,如若转载,请注明出处:https://www.davidwu.net/archives/15093

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买