Der Beitrag, geschriebem am 20. Oktober 2016, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein
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.

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 );



Schreibe einen Kommentar