Ich möchte meinen benutzerdefinierten Post-Typ aus den Suchergebnissen ausblenden. Also folgte ich dem Codex und benutzte:
exclude_from_search => 'true'
beim Registrieren meines benutzerdefinierten Post-Typs.
Dadurch wird der benutzerdefinierte Post-Typ ausgeblendet und er erscheint nicht mehr in den Suchergebnissen.
Aber jetzt kann ich keine Posts mit get_posts
laden, aber sie erscheinen gut mit WP_Query
. Ich frage mich, warum es passiert.
get_posts()
verwendet WP_Query
, also liefern Sie wahrscheinlich falsche Argumente, es ist erwähnenswert, dass die function einige Standardargumente hat .
Dies sollte alle Beiträge des CPT myCPT
:
$args = array( 'posts_per_page' => -1, 'post_type' => 'myCPT', 'post_status' => 'any', ); $posts_array = get_posts( $args ); ?>
Kannst du diesen Code ausprobieren?
function excludePages($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','excludePages');