怎样在WordPress插件中注册自定义Post Type?

2024-10-07 79 0

WordPress是一个非常灵活的内容管理系统,允许我们通过插件来扩展其功能。自定义Post Type是WordPress中的一个强大功能,它让我们可以创建除了默认的“文章”和“页面”之外的其他内容类型。下面,我将带你一步步了解如何在WordPress插件中注册自定义Post Type。

第一步:创建插件的基本框架

首先,我们需要创建一个插件。在你的WordPress安装目录下的wp-content/plugins文件夹中,创建一个新文件夹,比如命名为my-custom-post-type。在这个文件夹中,创建一个主插件文件,比如命名为my-custom-post-type.php

my-custom-post-type.php文件中,添加以下基本代码:

 _x('Books', 'Post Type General Name', 'textdomain'),
        'singular_name'         => _x('Book', 'Post Type Singular Name', 'textdomain'),
        'menu_name'             => __('Books', 'textdomain'),
        'name_admin_bar'        => __('Book', 'textdomain'),
        'archives'              => __('Book Archives', 'textdomain'),
        'attributes'            => __('Book Attributes', 'textdomain'),
        'parent_item_colon'     => __('Parent Book:', 'textdomain'),
        'all_items'             => __('All Books', 'textdomain'),
        'add_new_item'          => __('Add New Book', 'textdomain'),
        'add_new'               => __('Add New', 'textdomain'),
        'new_item'              => __('New Book', 'textdomain'),
        'edit_item'             => __('Edit Book', 'textdomain'),
        'update_item'           => __('Update Book', 'textdomain'),
        'view_item'             => __('View Book', 'textdomain'),
        'view_items'            => __('View Books', 'textdomain'),
        'search_items'          => __('Search Book', 'textdomain'),
        'not_found'             => __('Not found', 'textdomain'),
        'not_found_in_trash'    => __('Not found in Trash', 'textdomain'),
        'featured_image'        => __('Featured Image', 'textdomain'),
        'set_featured_image'    => __('Set featured image', 'textdomain'),
        'remove_featured_image' => __('Remove featured image', 'textdomain'),
        'use_featured_image'    => __('Use as featured image', 'textdomain'),
        'insert_into_item'      => __('Insert into book', 'textdomain'),
        'uploaded_to_this_item' => __('Uploaded to this book', 'textdomain'),
        'items_list'            => __('Books list', 'textdomain'),
        'items_list_navigation' => __('Books list navigation', 'textdomain'),
        'filter_items_list'     => __('Filter books list', 'textdomain'),
    );
    $args = array(
        'label'                 => __('Book', 'textdomain'),
        'description'           => __('Book custom post type', 'textdomain'),
        'labels'                => $labels,
        'supports'              => array('title', 'editor', 'thumbnail', 'revisions'),
        'taxonomies'            => array('category', 'post_tag'),
        'hierarchical'          => false,
        'public'                => true,
        'show_ui'               => true,
        'show_in_menu'          => true,
        'menu_position'         => 5,
        'show_in_admin_bar'     => true,
        'show_in_nav_menus'     => true,
        'can_export'            => true,
        'has_archive'           => true,
        'exclude_from_search'   => false,
        'publicly_queryable'    => true,
        'capability_type'       => 'post',
    );
    register_post_type('book', $args);
}
add_action('init', 'my_custom_post_type', 0);

在这段代码中,我们定义了一个名为my_custom_post_type的函数,它使用register_post_type函数来注册一个新的Post Type。我们设置了Post Type的名称、描述、标签、支持的功能、分类法、是否分层等属性。

第三步:激活插件

保存my-custom-post-type.php文件,并前往WordPress后台,在“插件”页面中找到“我的自定义Post Type”插件,点击“激活”。

第四

相关文章

在WordPress主题中,如何实现响应式布局?
如何使用WordPress的nonce字段来增强表单安全性?
如何使用WordPress REST API 创建和读取自定义端点?
在WordPress主题开发中,如何使用wp_nav_menu()函数来自定义菜单?
如何使用the_post()函数在WordPress主题中循环显示文章?
在WordPress插件开发中,如何创建自定义数据库表?