Ich musste kürzlich ein sehr ähnliches Problem ansprechen, während ich innerhalb eines Themas arbeitete. Die Basis des Codes war von diesem Beitrag und ich hatte einen Teil des Codes geändert
Das Folgende ist der erste Teil des Codes, den ich geändert habe.
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);
}
Das Folgende ist der zweite Teil des Codes, den ich geändert habe.
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;
}
Wenn Sie möchten, senden Sie mir bitte eine Nachricht und ich sende Ihnen gerne meine Datei functions.php als Referenz. Dies ist definitiv der Weg, um dies zu erreichen, da ich viele Nächte lang Haare gezogen habe, wie Sie selbst.