快速创建WordPress动态小工具:无需编程经验
本教程将指导您如何在WordPress中创建动态小工具,即使您只有有限的编程知识也能轻松上手。
WordPress小工具是代码块,可以添加到WordPress网站的任何特定区域。 WordPress内置了许多小工具(例如标签云和分类),但本教程将帮助您快速从零开始创建自定义小工具。
我们将通过一个示例来演示:创建一个显示实时板球比赛数据的动态小工具。这将帮助您熟悉WordPress小工具相关的各种函数。
准备工作
在开始编写任何代码之前,请务必备份您的WordPress代码,以防出现意外错误。 建议您了解PHP面向对象编程的基础知识。 本教程在WordPress 4.9.8版本上创建。
代码位置
如果您只想在特定主题中使用小工具,可以将代码放在该主题的functions.php
文件中。但是,这会限制小工具的使用范围。
本教程将创建一个新的插件来存放小工具,这样可以跨主题使用。该插件将使用API显示实时板球比赛列表。
小工具开发基础
要创建WordPress小工具,您需要扩展WP_Widget
类。在您的widget类中,需要定义以下函数:
__construct
)widget
):显示小工具内容form
):如果需要定义一个接受输入的表单update
):如果需要更新小工具设置在本例中,我们只需要定义前两个函数。创建widget类后,需要使用register_widget
函数进行注册。
基础:Hello World小工具
/wp-content/plugins/
目录下创建一个新目录(例如live-score-custom
),并在其中创建一个index.php
文件,包含以下内容:<code class="language-php"><?php /* Plugin Name: 实时比分自定义 Plugin URI: https://www.sitepoint.com/ Description: 获取并显示体育数据 Version: 1.0 Author: Shaumik Author URI: https://www.sitepoint.com/ License: GPL2 */ ?></code>
index.php
中添加以下代码:<code class="language-php">class My_Custom_Widget extends WP_Widget { public function __construct() { $options = array( 'classname' => 'custom_livescore_widget', 'description' => '实时比分小工具', ); parent::__construct( 'live_score_widget', '实时比分小工具', $options ); } public function widget( $args, $instance ) { echo $args['before_widget']; echo $args['before_title'] . apply_filters( 'widget_title', '实时板球比赛' ) . $args['after_title']; echo 'Hello, World!'; echo $args['after_widget']; } } function my_register_custom_widget() { register_widget( 'My_Custom_Widget' ); } add_action( 'widgets_init', 'my_register_custom_widget' );</code>
激活插件后,在外观>小工具中添加新创建的小工具。
添加实时比分
我们将使用CricAPI的API(需要注册并获取API密钥)。修改widget
函数:
<code class="language-php"><?php /* Plugin Name: 实时比分自定义 Plugin URI: https://www.sitepoint.com/ Description: 获取并显示体育数据 Version: 1.0 Author: Shaumik Author URI: https://www.sitepoint.com/ License: GPL2 */ ?></code>
打包和分享插件
将live-score-custom
目录压缩成zip文件,然后在插件>添加新>上传插件中上传。
总结
本教程演示了如何在WordPress中通过插件创建小工具并显示实时体育数据。
常见问题解答 (FAQs) (略,与原文内容重复)
以上是在10分钟内在WordPress中创建动态小部件的详细内容。更多信息请关注PHP中文网其他相关文章!