我一直在寻找类似的问题,但我没有找到任何问题。我正在为一家服务提供商公司创建一个 Wordpress 网站。客户可以从前端创建自己的属性,这些属性存储在称为“属性”的自定义帖子类型中。我需要用户可以访问这些帖子,以便他可以从预订表格的下拉列表中选择一个。但是,我需要将帖子限制为当前作者创建的帖子。我曾尝试更改用户角色功能,但这当然行不通,因为我似乎无法限制可见性,只有编辑能力。
作为澄清:这是在前端。用户永远不会接触到后端管理区域。
我尝试了这段代码来创建 CPT:
/**
* @author Brad Dalton
* @example http://wpsites.net/wordpress-admin/restrict-access-to-custom-post-types-by-users-capability/
* @copyright 2014 WP Sites
*/
//* Create custom post type for contributors capabilities
add_action( 'init', 'add_custom_post_type' );
function add_custom_post_type() {
register_post_type( 'yourcpt',
array(
'labels' => array(
'name' => __( 'YourCPT', 'wpsites' ),
'singular_name' => __( 'YourCPT', 'wpsites' ),
),
'has_archive' => true,
'hierarchical' => true,
'menu_icon' => 'dashicons-portfolio',
'public' => true,
'capabilities' => array(
'publish_posts' => 'update_core',
'edit_others_posts' => 'update_core',
'delete_posts' => 'update_core',
'delete_others_posts' => 'update_core',
'read_private_posts' => 'update_core',
'edit_post' => 'edit_posts',
'delete_post' => 'update_core',
'read_post' => 'edit_posts',
),
'rewrite' => array( 'slug' => 'yourcpt', 'with_front' => false ),
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ),
'taxonomies' => array( 'yourcpt-type' ),
));
}
但它仍然在预订表格中显示其他作者的帖子。
我希望这是有道理的,有人可以指出我正确的方向。