Gần đây tôi đã cần phải giải quyết một vấn đề rất giống trong khi làm việc trong một chủ đề. Cơ sở của mã là từ bài đăng này và tôi đã sửa đổi một số mã
Sau đây là phần đầu tiên của mã tôi đã sửa đổi.
add_action('init', 'limited_post_type');
function my_custom_limited_post_type()
{
$labels = array(
'name' => _x('Limited Post Type', 'post type general name'),
'singular_name' => _x('Film - DVD', 'post type singular name')
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','editor','author','thumbnail','excerpt', 'page-attributes','custom-fields' ),
'show_in_nav_menus' => true
);
register_post_type('limited_post_type', $args);
}
Sau đây là phần thứ hai của mã tôi đã sửa đổi.
foreach ( $scope as $scopeItem ) {
switch ( $scopeItem ) {
case "post": {
// Output on any post screen
if ( basename( $_SERVER['SCRIPT_FILENAME'] )=="post-new.php" || $post->post_type=="post" )
$output = true;
break;}
case "page": {
// Output on any page screen
if ( basename( $_SERVER['SCRIPT_FILENAME'] )=="page-new.php" || $post->post_type=="page" )
$output = true;
break;}
case "limited_post_type": {
// Output on limited post_type onlye
if ((basename( $_SERVER['SCRIPT_FILENAME'] )=="post-new.php" && $post->post_type=="limited_post_type" ) || (basename( $_SERVER['SCRIPT_FILENAME'] )=="post.php" && $post->post_type=="film_dvd" ))
$output = true;
break;
}
Nếu bạn thích xin vui lòng gửi cho tôi một tin nhắn và tôi sẽ vui lòng gửi cho bạn tệp tin.php của tôi để bạn tham khảo. Đây chắc chắn là cách để làm cho nó xảy ra mặc dù tôi đã trải qua nhiều đêm nhổ tóc như chính mình.