WordPress如何实现给自定类型分类法投稿
要在WordPress中为自定义文章类型添加分类法,你需要按照以下步骤进行操作:
-
创建自定义文章类型(如果还没有):
来创建一个自定义文章类型。例如,你可以创建一个名为 "books" 的自定义文章类型:
如果你已经有一个自定义文章类型,可以跳过这一步。如果没有,请使用函数register_post_type()
function custom_post_type() { register_post_type('books', array( 'labels' => array( 'name' => 'Books', 'singular_name' => 'Book' ), 'public' => true, 'has_archive' => true, 'supports' => array('title', 'editor', 'thumbnail', 'customfields'), ) ); } add_action('init', 'custom_post_type');
-
创建自定义分类法:
使用函数register_taxonomy()
来创建自定义分类法。例如,你可以创建一个名为 "genre" 的分类法:function custom_taxonomy() { register_taxonomy( 'genre', 'books', // 这里使用你的自定义文章类型的名称 array( 'label' => 'Genre', 'rewrite' => array('slug' => 'genre'), 'hierarchical' => true, ) ); } add_action('init', 'custom_taxonomy');
-
编辑自定义文章类型:
现在,你可以在WordPress后台编辑你的自定义文章类型 "books",并为每篇文章选择一个或多个 "Genre"。 -
显示分类法在文章编辑页面(可选):
如果你想在文章编辑页面显示分类法,可以使用以下代码:function add_custom_taxonomy() { add_meta_box( 'custom_taxonomy', 'Genre', 'custom_taxonomy_meta_box', 'books', // 这里使用你的自定义文章类型的名称 'side', 'default' ); } function custom_taxonomy_meta_box($post) { $taxonomy = 'genre'; $terms = get_terms($taxonomy); $post_terms = wp_get_post_terms($post>ID, $taxonomy); if ($terms) { foreach ($terms as $term) { echo '
'; } } } function save_custom_taxonomy($post_id) { if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; if ($parent_id = wp_is_post_revision($post_id)) { $post_id = $parent_id; } $post_terms = isset($_POST['post_terms']) ? $_POST['post_terms'] : array(); wp_set_post_terms($post_id, $post_terms, 'genre'); } add_action('add_meta_boxes', 'add_custom_taxonomy'); add_action('save_post', 'save_custom_taxonomy');
这些步骤将帮助你为自定义文章类型添加分类法,并在文章编辑页面中进行分类选择。确保将代码添加到你的主题的 functions.php
文件中,或者使用自定义插件来实现这些功能。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
仍然有问题? 我们要如何帮助您?