如果未注册CPT,则索引。将使用php,如果您只注册CPTfor the backend, 这是什么is_admin
检查,然后index.php
几乎总是会被使用。
换句话说,您只是在后端注册您的CPT,而不是在前端注册。这种方式永远不会正常工作。
你做错的根本就是误解了is_admin
作用
我想你需要的是current_user_can
但你不会想在那个开关上注册帖子类型,否则我想你不会。这可能也会导致不必要的行为,但当然欢迎您尝试。也许有点像。。。
function hide_cpt($content) {
global $post; // might not be necessary
if (\'your-post-type-name\' == $post->post_type && current_user_can(\'administrator\')) {
return \'You can\\\'t look at this\';
}
return $content;
}
add_filter(\'the_content\',\'hide_cpt\');
但很难说这是否会满足你的要求。你的描述没有太多细节。