我为帖子创建了一个元框,名为"资源"我可以从后端的预定义选择元素中选择一个值。保存后,它显示在前端。请看图片。
现在我想让它像标签,作者和类别一样工作。当我点击它时,它将显示所有选择具有相同值的帖子。但不知道从哪里开始。
我使用了Meta Box插件并在function.php
add_filter( 'rwmb_meta_boxes', 'resource_meta_box' );
function resource_meta_box( $meta_boxes ) {
$meta_boxes[] = array(
'id' => 'resource_box',
'title' => esc_html__( 'Resource' ),
'post_types' => array( 'post' ),
'context' => 'side',
'priority' => 'high',
'autosave' => true,
// List of meta fields
'fields' => array(
// RESOURCE BOX
array(
'name' => esc_html__( '' ),
'id' => "resource",
'type' => 'select',
// Array of 'value' => 'Label' pairs for select box
'options' => array(
'Item 1' => esc_html__( 'Item 1' ),
'Item 2' => esc_html__( 'Item 2' ),
'Item 3' => esc_html__( 'Item 3' ),
'Item 4' => esc_html__( 'Item 4' ),
'Item 5' => esc_html__( 'Item 5' ),
),
// Placeholder of Select.
'placeholder' => esc_html__( 'None' )
)
)
);
return $meta_boxes;
}
以及需要显示<?php echo rwmb_meta( 'resource'); ?>
提前致谢。
答案 0 :(得分:0)
你应该去自定义分类,因为它具有你所需要的功能。将下面给出的代码粘贴到您的主题functions.php file.enter code here
中$labels = array(
'name' => _x( 'Resources', 'taxonomy general name', 'textdomain' ),
'singular_name' => _x( 'Resource', 'taxonomy singular name', 'textdomain' ),
'search_items' => __( 'Search Resources', 'textdomain' ),
'popular_items' => __( 'Popular Resources', 'textdomain' ),
'all_items' => __( 'All Resources', 'textdomain' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Resource', 'textdomain' ),
'update_item' => __( 'Update WResource', 'textdomain' ),
'add_new_item' => __( 'Add New Resource', 'textdomain' ),
'new_item_name' => __( 'New Resource Name', 'textdomain' ),
'separate_items_with_commas' => __( 'Separate Resources with commas', 'textdomain' ),
'add_or_remove_items' => __( 'Add or remove Resources', 'textdomain' ),
'choose_from_most_used' => __( 'Choose from the most used Resources', 'textdomain' ),
'not_found' => __( 'No Resources found.', 'textdomain' ),
'menu_name' => __( 'Resources', 'textdomain' ),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'resource' ),
);
register_taxonomy( 'resource', 'your-post-type-slug', $args );
替换文字&#39; your-post-type-slug&#39;使用帖子类型的post-type slug(例如,帖子&#39;用于帖子或页面&#39;用于页面等),您希望将其与分类法相关联。
然后使用以下代码检索在&#39;资源&#39;下创建的所有字词。分类
get_terms( 'resource', array(
'hide_empty' => false,
) );
从archive.php创建模板文件taxonomy-resource.php,以显示已过滤(通过新添加的分类法)帖子列表。
使用the_terms(get_the_ID(),'resource', $before, $sep, $after );
显示循环内特定帖子的所选资源。