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