Kann ich einen bestimmten Beitrag von der Seite mit den neuesten Posts ausblenden?

Nehmen wir an, ich habe einen Beitrag, den ich nur auf der Seite der Kategorie anzeigen möchte, zu der er gehört. Das Problem ist, dass dieser Beitrag auch auf der letzten Beitragsseite sichtbar ist.

Gibt es eine Möglichkeit, diesen Beitrag von der letzten Post-Seite zu verbergen und nur auf der Seite der Kategorie des Posts zu zeigen?

Solutions Collecting From Web of "Kann ich einen bestimmten Beitrag von der Seite mit den neuesten Posts ausblenden?"

function exclude_single_posts_home($query) { if ($query->is_home() && $query->is_main_query() && !is_admin()) { $query->set('post__not_in', array(post-id)); } } add_action('pre_get_posts', 'exclude_single_posts_home'); 

Quelle: pre_get_posts

Da Sie die zentralen Einstellungen von “Seite für Posts” verwenden, sollten Sie die tolle pre_get_posts Aktion verwenden können , um die spezifische ID zu entfernen, die Sie ausschließen möchten.

Dies sollte in deiner functions.php Datei oder /mu-plugins/ plugin funktionieren:

 wpse94273_hide_post( $query ) { // only remove post ID from page_for_posts and in the main query if( $query->is_home() && $query->is_main_query() ) { // remove specific page ID from query query->set( 'post__not_in', array( {your post id} ) ); } } add_action( 'pre_get_posts', 'wpse_94273_hide_post' ); 

Ersetzen Sie “{Ihre Post-ID}” durch die ID des Posts, den Sie ausschließen möchten. Es ist ein array , sodass Sie bei Bedarf mehrere durch Kommas getrennte IDs eingeben können.

Wenn sich die Post-ID ändert, müssen Sie mithilfe der Einstellungs-API eine Art von Option einrichten, um die ID zu speichern, die Sie ausschließen möchten.

Ihre Frage ist schwer zu verstehen. Meinst du eine bestimmte Post oder etwas automatisches? Wenn Sie einen bestimmten Beitrag meinen und Wenn Sie wp_query / query-Posts verwenden, um nach letzten Posts zu suchen, können Sie diesen Parameter hinzufügen.

 'post__not_in' => array($postId) 

Beispielabfrage:

 $relatedargs = array( 'post__not_in' => array($postId) // THIS IS THE LINE ); $the_query = new WP_Query( $relatedargs ); // The Loop if( $the_query->have_posts() ) { while ( $the_query->have_posts() ) : $the_query->the_post(); // YOUR LOOP HERE endwhile; } 

Hoffe das hilft ;