Single Posts eines Custom Post Types nachträglich verbergen

hideout 1714701 1920
Bildquelle: Pixabay, AnaPilar

Ein von einem Plugin generierter Post Type wurde über einen längeren Zeitraum in einem Projekt verwendet. Jeder Eintrag war einzeln zugänglich. Nach ein paar Änderungen am Inhaltskonzept wurde beschlossen, die Einträge des Post Types nur noch über Custom Loops mit definierten Kategorien als Archive anzuzeigen und auf die Einzelansichten fortan zu verzichten. Das Schlüsselargument hierfür ist publicly_queryable das auf false gestellt wird.

not publicly queryable
Wenn publicly_queryable auf false gestellt ist, verschwindet auch der „Ansehen“-Link in der Postliste im Dashboard

Um das Plugin nicht modifizieren zu müssen wurde das ursprüngliche Argument über die functions.php des Childthemes überschrieben.

function hide_single_posts_by_type( $post_type, $args ) {
    if ( 'my_posttype' != $post_type )
        return; 
    $args->publicly_queryable = false;
    global $wp_post_types;
    $wp_post_types[$post_type] = $args;
}
add_action( 'registered_post_type', 'hide_single_posts_by_type', 10, 2 );

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable