Seiten in Archivergebnissen ausschließen

Also, ich habe einen benutzerdefinierten Beitragstyp auf verschiedene Beiträge und auch eine Seite angewendet. Wenn ich diese Seite zeige, zeigt es einige Inhalte (Text), und unten einen Link, um die Liste der Produkte zu erhalten, die zu dieser Seite gehören (dank der CPT auch auf die Seite angewendet).

Der Link heißt so:

echo get_the_term_list( $post->ID, 'prod-cate', 'Products of the cateogry: ', ', ', '.' ); 

Wenn ich auf diesen Link klicke, wird eine Archivseite mit den Produkten angezeigt, aber auch die Seite, von der ich komme.

Die Frage ist, wie diese Seite nicht in den Archiven angezeigt wird.

Solutions Collecting From Web of "Seiten in Archivergebnissen ausschließen"

Rufen Sie den Link mit einem Abfrageargument auf, in dem Sie die aktuelle Post-ID übergeben.

Wenn get_the_term_list eine URL-Adresse (den Link href) zurückgibt, müssten Sie ein Argument anhängen. Schließen Sie dann auf der Archivseite diese Post-ID vor der Schleife aus, indem Sie Folgendes verwenden:

 if(isset($_GET['related_to'])) query_posts(array('post__not_in' => array(intval($_GET['related_to'])))); 

Update: Ich habe get_the_term_list nachgeschlagen und es scheint eine wp-function zu sein, die HTML-formatierte Term-Links auflistet. Daher müssen Sie Ihr Abfrageargument anfügen, bevor die Verknüpfungen erstellt werden. In Ihrer functions.php Datei fügen Sie hinzu:

 function my_related_link($termlink, $term, $taxonomy){ global $post; return add_query_arg('related_to', $post->ID, $termlink); } 

und in der Vorlagendatei, in der der Link hinzugefügt wird:

 add_filter('term_link', 'my_related_link', 10, 3); echo get_the_term_list( $post->ID, 'prod-cate', 'Products of the cateogry: ', ', ', '.' ); remove_filter('term_link', 'my_related_link');