[ad_1]
WordPress 是许多人的宠儿,这是理所当然的。 它非常易于使用、免费(或开源)、灵活,而且最好的部分是可扩展的。 多亏了插件,您可以扩展 WordPress 以添加您想要的几乎任何功能。
如果您是完美的初学者,WordPress 插件就像您手机上的应用程序一样。 您的手机运行良好,但您可以使用应用程序添加更多功能。 这同样适用于 WordPress 内容管理系统 (CMS)。
WordPress 平台已经很强大,但您可以使用插件实现更多功能。 例如,WordPress 插件允许您添加额外的功能,例如电子商务、搜索引擎优化、垃圾邮件防护、高级表单、社交媒体、更好的安全性、实时聊天、可视化页面构建等等。
那里有数以千计的免费和高级 WordPress 插件。 这 官方 WordPress 插件库 在撰写本文时,仅此一项就有超过 59,000 个免费插件! 其他市场,例如 代码峡谷,为您提供数以千计的优质 WordPress 插件。
也就是说,几乎所有您需要添加到 WordPress 网站的功能都可能有一个插件。 不过,有时,您可能需要上述插件源中无法提供的东西。 在这种情况下,您可能需要从头开始创建 WordPress 插件或修改(或分叉)现有插件。
在今天的帖子中,我们将向您展示如何编写一个简单的 WordPress 插件,如果您想创建一些简单的东西或一头扎进插件开发中,这很好。 有了这个序言,让我们开始吧,因为有很多东西要讲。
编写一个简单的 WordPress 插件:基础知识
在我们进入有趣的部分之前,您应该知道一些基本的事情。 作为初学者,您可能会认为创建 WordPress 插件是一个难以破解的难题。 嗯,不是真的。 无论您是否拥有计算机科学学位,任何人都可以学习如何编写插件。
同时,如果您打算将来编写更多插件,一些 PHP 编码知识将有很大帮助。 那是因为 WordPress 插件是用 PHP 编程语言编码的。 有了这些知识,您将更好地了解如何 PHP 函数 工作,这使您的工作更轻松。 不过,这很容易。
此外,根据您需要的功能,您的插件可能只包含一个文件或多个文件,包括 CSS 样式表、JavaScript 脚本和媒体文件。 最后,熟悉自己很重要 WordPress 编码标准和最佳实践 保持安全。
放轻松,因为今天我们不会冒险进入复杂的东西。 我将向您展示如何编写一个简单的插件,并分享一些工具和资源,让您的工作变得轻而易举。 你还兴奋吗? 我当然希望如此🙂
编写 WordPress 插件需要什么
在编写 WordPress 插件之前,您需要做一些事情。 对于初学者,不要在您的实时站点上测试您的插件。 如果出现任何问题,您可能会破坏您的网站,这会在您修复问题时导致可怕的停机时间。
相反,在本地或您的服务器上创建一个测试或登台站点。 方法如下:
除此之外,您将需要一个文本编辑器,例如 记事本++, 崇高文本, 或者 原子. 虽然这不是必需的,但您可以使用诸如 插件板 或者 插件样板 加快开发速度(稍后会详细介绍)。
现在有趣的部分,让我们编写一个简单的 WordPress 插件。 对于本教程,我正在创建一个插件,该插件将为我正在构建的虚构餐厅网站添加自定义帖子类型。
对于外行来说, WordPress 支持多种帖子类型 包括页面、帖子、附件、修订和导航菜单。 对于我们的案例场景,我们将创建一个添加“Recipe”自定义帖子类型的简单插件。 出于说明目的,我将我的插件称为“热门食谱”。
让我们直接潜入。
如何编写一个简单的 WordPress 插件
每个 WordPress 插件都有一个主文件,您可以手动创建或使用 Plugin Boilerplate 或 Pluginplate 等工具创建该主文件。 为了节省时间,让我们使用 Pluginplate(它更直观,IMO)来生成主文件和一些您以后可能需要的额外文件和文件夹。 然而,目前我们只需要主文件。
创建主文件
前往 Pluginplate.com,然后单击 Create Your Plugin 按钮,如下所示。
接下来,填写您的插件信息,如下所示。 在页面底部,您会注意到允许您向插件添加额外功能的模块部分。 另请注意,您可以通过单击加号 (+) 来自定义每个模块,如下所述。 满意后,单击 Generate Plugin 按钮:
之后,单击下载按钮并将插件保存到您的计算机。
现在,我们拥有了我们需要的所有基本文件,包括主文件。 但是不要弹出气泡,我们的插件不会做任何事情。 我们必须添加激活插件时将执行的代码。 根据我们的示例,我的主文件是 hot-recipes.php,这是我们将在下一节中编辑的文件。
添加功能
要找到 hot-recipes.php 邮件文件,请提取您从 Pluginplate 下载的 ZIP 文件夹:
在文件夹中,您应该会看到您的主文件,在我们的例子中,它是 hot-recipes.php:
在插件文件夹中,您可以看到一堆其他文件,但我们目前不需要这些文件。 接下来,让我们在主文件中添加一些函数。 在您最喜欢的文本编辑器(我使用的是 Notepad++)中打开主文件(hot-recipes.php)。
根据您在 Pluginplate 中填写表格的方式,您将看到以下代码或类似内容:
。 */ // 如果直接访问则退出。 if (!defined(‘ABSPATH’)) 退出; // 插件名称 define(‘HOTRECIPES_NAME’, ‘Hot Recipes’ ); // 插件版本定义(‘HOTRECIPES_VERSION’, ‘1.0.0’); // 插件根文件 define( ‘HOTRECIPES_PLUGIN_FILE’, __FILE__ ); // 插件库定义(‘HOTRECIPES_PLUGIN_BASE’, plugin_basename(HOTRECIPES_PLUGIN_FILE)); // 插件文件夹路径 define( ‘HOTRECIPES_PLUGIN_DIR’, plugin_dir_path( HOTRECIPES_PLUGIN_FILE ) ); // 插件文件夹 URL 定义(‘HOTRECIPES_PLUGIN_URL’, plugin_dir_url(HOTRECIPES_PLUGIN_FILE)); /** * 为核心功能加载主类 */ require_once HOTRECIPES_PLUGIN_DIR 。 ‘核心/class-hot-recipes.php’; /** * 加载我们主类的唯一实例 * 的主函数。 * * @author Freddy * @since 1.0.0 * @return object|Hot_Recipes */ function HOTRECIPES() { return Hot_Recipes::instance(); } 热菜();
很好,一切看起来都很棒。 上面的代码将告诉 WordPress 插件的名称以及版本、作者、许可证和其他详细信息。 您无需编辑任何内容。 让我们进入下一步。
在上面的代码下面,添加以下代码:
/** * 注册食谱帖子类型。 */ function hot_recipes_register_post_types() { // 为食谱帖子类型设置 UI 标签。 $labels = array(‘name’ => _x(‘Recipes’, ‘Post Type General Name’, ‘hot-recipes’), ‘singular_name’ => _x(‘Recipe’, ‘Post Type Singular Name’, ‘hot -recipes’), ‘menu_name’ => __(‘Recipes’, ‘hot-recipes’), ‘parent_item_colon’ => __(‘Parent Recipe’, ‘hot-recipes’), ‘all_items’ => __(‘所有食谱’, ‘hot-recipes’ ), ‘view_item’ => __( ‘查看食谱’, ‘hot-recipes’ ), ‘add_new_item’ => __( ‘添加新食谱’, ‘hot-recipes’ ), ‘add_new’ => __(‘Add New’, ‘hot-recipes’), ‘edit_item’ => __(‘Edit Recipe’, ‘hot-recipes’), ‘update_item’ => __(‘Update Recipe’, ‘hot-recipes’ ), ‘search_items’ => __( ‘搜索食谱’, ‘hot-recipes’ ), ‘not_found’ => __( ‘Not Found’, ‘hot-recipes’ ), ‘not_found_in_trash’ => __( ‘未在垃圾箱中找到’, ‘热门食谱’ ), ); // 为食谱帖子类型设置其他参数。 $args = array( ‘label’ => __( ‘recipes’, ‘hot-recipes’ ), ‘description’ => __( ‘Recipes.’, ‘hot-recipes’ ), ‘labels’ => $labels, ‘supports’ => array(‘title’, ‘editor’, ‘excerpt’, ‘author’, ‘thumbnail’, ‘comments’, ‘revisions’, ‘custom-fields’, ), ‘taxonomies’ => array( ), ‘hierarchical’ => false, ‘public’ => true, ‘show_ui’ => true, ‘show_in_menu’ => true, ‘show_in_nav_menus’ => true, ‘show_in_admin_bar’ => true, ‘menu_position’ => 5 , ‘can_export’ => true, ‘has_archive’ => true, ‘exclude_from_search’ => false, ‘publicly_queryable’ => true, ‘capability_type’ => ‘post’, ‘show_in_rest’ => true, ); // 注册食谱帖子类型。 register_post_type(‘食谱’,$args); } add_action(‘init’, ‘hot_recipes_register_post_types’);
上面的代码只是用一组选项注册了我们的自定义帖子类型“食谱”。 它还添加了支持修订、自定义字段、摘录、评论、特色图像等功能。 这些是您在添加新食谱时将在帖子编辑器中看到的功能。
旁白:现在,作为初学者,我现在不会太担心语法,因为它超出了今天帖子的范围。 但是有了一些 PHP 知识,你就会明白上面代码的每个部分,以及每个部分的作用。 此外,互联网上有大量的资源和代码可供学习和练习。
压缩你的插件文件夹
保存所有更改。 将 hot-recipes 文件夹(这是您在其中找到我们刚刚编辑的 hot-recipes.php 主文件的文件夹)压缩到 hot-recipes.zip 存档中(在 Mac 上,只需右键单击、压缩文件即可PC 我相信它非常相似)。 只需确保您的文件夹另存为 .ZIP 扩展名,否则插件将无法安装。
接下来,登录到您的测试站点并导航到 Plugins > Add New,如下所示。
接下来,单击 Upload Plugin 按钮,从您的计算机中选择您的插件 ZIP 文件夹,然后单击 Install Now:
接下来,激活插件:
现在,如果您检查您的 WordPress 管理菜单,您会注意到我们的新食谱帖子类型,并具有添加新食谱的能力:
恭喜您编写了您的第一个简单插件! 有了这个介绍,您可以更进一步,玩弄代码,看看您能得到什么。 此外,您可以研究其他插件的源代码(所有 WordPress 插件都是开源的)以了解更多信息。
现在您只需要更多资源(查看 插件手册) 和大量的练习,你很快就会像传说中的那样开始编码。
编程和编写 WordPress 插件一开始看起来很吓人,尤其是作为初学者。 但是有了正确的工具和一些学习资源,您可以立即像老板一样开发插件。 只需要一些编码和决心,你就成功了一半。
我希望本教程在理解插件方面为您指明了正确的方向。 这篇文章应该作为开发复杂的 WordPress 插件的垫脚石,可以做任何你想做的事情。 不要停在这里,查看我上面推荐的资源,以增加您对 WordPress 插件开发的了解。
如果您发现本教程对您有帮助,或者您还有其他要添加的内容,我们很想知道。 请在下面的评论部分分享您的想法。 再见!