使用您自己的插件创建 WordPress 自定义帖子类型!
已发表: 2021-01-18WordPress 自定义帖子类型非常有用。 如果您不确定这些是什么,请查看我们的文章“使用插件创建 WordPress 自定义帖子类型”以获取更多详细信息。 在一系列文章中,我们介绍了创建自定义帖子类型的各种方法。 这包括使用插件(根据刚才提到的文章)一直到从头开始编写自定义帖子类型。
与与 WordPress 相关的大多数事情一样,如果您具有在功能中编写代码的技术能力,那么您几乎可以实现任何目标,而不受旨在帮助您实现所选目标的插件的限制。 但是,也许最终的控制和可用性来自使用您自己创建的自定义插件。 在本文中,我们将通过查看如何构建您自己的自定义帖子类型插件来结束我们关于创建自定义帖子类型的迷你系列。
所以,启动一个文本编辑器,让我们开始吧!
创建您的自定义帖子类型插件
如果您从未构建过自己的 WordPress 插件,那么在继续本教程之前,可能值得查看我们的文章“如何构建您的第一个 WordPress 插件”。 分步指南”。
插件是扩展 WordPress 网站功能的理想方式。 既可以使用“现成”插件,也可以创建自己的插件以扩展 WordPress 网站的功能,这是 WordPress 如此受欢迎的 CMS 的众多原因之一。 通过创建您自己的插件(或使用第三方插件)添加功能通常可以切换主题并对我们的网站进行其他重大更新,而不会丢失相关插件的功能。
正因为如此,以将功能与网站设计分开的方式设计插件是有意义的——换句话说,如果插件旨在提供核心功能,如果它不包含特定于主题的功能,则效果最佳。 然后,这为您提供了最大的灵活性,因为理论上该插件可以部署在任何 WordPress 网站上。
考虑到这一点,我们将为自定义帖子类型创建的插件是一个简单但完整的插件,它将注册我们的“食谱”自定义帖子类型,而最终用户无需将此功能直接编码到他们的网站中。
第一步:注册插件
第一步是创建一个插件,我们将其命名为“我的自定义帖子类型”并将其注册到我们的网站。
为此,请在/wp-content/plugins
文件夹下创建插件文件夹并将其命名为my-custom-post-type
。 然后,在这个文件夹中创建它的主文件,它将保存我们的插件功能和注册码。 我们建议您为文件命名为my-custom-post-type.php
。 因此,在您的 FTP 客户端中,它应该如下所示。
您必须在此处编写的最低强制代码如下:
<?php /** Plugin Name: My CPT plugin **/
这个 PHP 注释告诉 WordPress 插件的存在和插件的名称。 如果您刷新它,“我的 CPT 插件”字符串是您现在将在管理区域插件列表中看到的名称。
为自定义帖子类型插件提供功能
现在我们已经命名并注册了我们需要破解的插件并为其添加一些功能。
您需要的大部分代码以前写在我们的文章“手动创建 WordPress 自定义帖子类型”中。 您可以检查一下以了解此代码的工作原理,或者直接从下面的代码中复制。
注意:如果您之前按照我们的教程进行操作,您将在functions.php
文件中添加代码。 我们不想在functions.php
文件和我们的插件中都包含我们的代码,所以最好在继续之前从我们的functions.php文件中删除它。
我们将 functions.php 文件中的相同代码粘贴到我们的插件主 php 文件中。 您的my-custom-post-type.php
文件现在应该如下所示:
<?php /** Plugin Name: My CPT plugin **/ //// Create recipes CPT function recipes_post_type() { register_post_type( 'recipes', array( 'labels' => array( 'name' => __( 'Recipes' ), 'singular_name' => __( 'Recipe' ) ), 'public' => true, 'show_in_rest' => true, 'supports' => array('title', 'editor', 'thumbnail'), 'has_archive' => true, 'rewrite' => array( 'slug' => 'my-home-recipes' ), 'menu_position' => 5, 'menu_icon' => 'dashicons-food', // 'taxonomies' => array('cuisines', 'post_tag') // this is IMPORTANT ) ); } add_action( 'init', 'recipes_post_type' ); //// Add cuisines taxonomy function create_recipes_taxonomy() { register_taxonomy('cuisines','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Cuisines', 'taxonomy general name' ), 'singular_name' => _x( 'Cuisine', 'taxonomy singular name' ), 'menu_name' => __( 'Cuisines' ), 'all_items' => __( 'All Cuisines' ), 'edit_item' => __( 'Edit Cuisine' ), 'update_item' => __( 'Update Cuisine' ), 'add_new_item' => __( 'Add Cuisine' ), 'new_item_name' => __( 'New Cuisine' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); register_taxonomy('ingredients','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Ingredients', 'taxonomy general name' ), 'singular_name' => _x( 'Ingredient', 'taxonomy singular name' ), 'menu_name' => __( 'Ingredients' ), 'all_items' => __( 'All Ingredients' ), 'edit_item' => __( 'Edit Ingredient' ), 'update_item' => __( 'Update Ingredient' ), 'add_new_item' => __( 'Add Ingredient' ), 'new_item_name' => __( 'New Ingredient' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); } add_action( 'init', 'create_recipes_taxonomy', 0 );
现在,如果您在管理区域中激活您的插件,您应该会在主菜单中看到“食谱”!
因此,我们现在有一个“菜谱”自定义帖子类型和两个菜谱帖子“菜谱 1”和“菜谱 2”,每个帖子都分配了一个“菜谱”分类。 就是这样! 现在,您不必每次想要更新自定义帖子类型时都对您的 functions.php 文件进行代码更改,您可以通过您的插件 php 文件来执行此操作,这要好得多。 您还可以从管理员直接控制它,并且可以快速轻松地禁用该插件。 此外,这可以保存为插件 zip 文件并在其他 WordPress 网站上使用。
改用库插件
如果您想进一步加快创建您自己的自定义帖子的过程,您可以尝试使用我的自定义函数插件。
此插件允许您将 PHP 函数代码插入您的网站,而无需通过 SFTP 连接直接编辑文件。
安装并激活插件后,一个新的菜单项将添加到您的管理菜单中。 只需转到“设置 > PHP 插入器”并在提供的代码块中为您的自定义帖子类型添加自定义代码。
插入代码后,打开开关并保存更改。 您的 PHP 代码将自动添加到您的网站,而不会影响其性能或更改您的主题文件。
在同一个管理屏幕中,您还可以找到一个用法选项卡和一个常见问题解答选项卡,它们可以真正帮助您了解如何使用该插件(我们在测试时充分利用了它!)。
延伸阅读
我们现在已经结束了关于自定义帖子类型的迷你系列。 如果您想查看这些内容,那么之前文章的链接如下:
- 使用插件创建 WordPress 自定义帖子类型
- 手动创建 WordPress 自定义帖子类型
- WordPress 自定义帖子类型——更进一步
结论
我们希望您喜欢这个系列文章,现在了解如何处理自定义帖子类型。 自定义帖子类型是令人惊奇的事情,可以彻底改变您构建 WordPress 网站的方式,使它们成为另一个出色的 WordPress 功能!