Kadence Theme Filter-Hooks für Related Posts

Das Kadence Theme bietet mehrere Filter-Hooks, um die Related Posts gezielt anzupassen. Mit wenigen Zeilen PHP lässt sich die Anzahl der Beiträge begrenzen, die Kategorie filtern oder die Reihenfolge ändern – ganz ohne Plugin.

Anzahl begrenzen – nur X Beiträge als Related Posts anzeigen

Begrenzt die Anzahl der angezeigten Related Posts z.B. auf 3 Beiträge. Es werden Beiträge aus allen Kategorien angezeigt.

add_filter(
	'kadence_related_posts_args',
	function ( $args ) {
		$args['posts_per_page'] = 3;

		return $args;
	}
);

Nur X Beiträge aus der gleiche Kategorie

Nur 3 Beiträge aus derselben Kategorie wie der aktuelle Beitrag werden angezeigt. Nach Datum sortiert, neueste zuerst.

add_filter( 'kadence_related_posts_args', function( $args ) {
    $args['tax_query'] = array(
        array(
            'taxonomy' => 'category',
            'field'    => 'term_id',
            'terms'    => wp_list_pluck( get_the_terms( get_the_ID(), 'category' ), 'term_id' ),
        ),
    );
    $args['posts_per_page'] = 3;
    $args['orderby'] = 'date';
    $args['order'] = 'DESC';
    return $args;
} );

Möchte man zufällige Beiträge anzeigen, wird das orderby auf rand gesetzt und order weggelassen:

$args['posts_per_page'] = 3; 
$args['orderby'] = 'rand'; 
return $args;

Related Posts für bestimmte Beiträge deaktivieren

Mit dem Filter werden die Related Posts für bestimmte Beiträge deaktiviert. Man trägt die Post-IDs in das Array ein, für die keine Related Posts angezeigt werden sollen (im Beispiel Beitrag 21, 32 und 37).

function kadence_disable_post_related( $value ) {
    $ids = array( 21, 32, 37 );
    if ( in_array( get_the_ID(), $ids ) ) {
        $value = false;
    }
    return $value;
}
add_filter( 'theme_mod_post_related', 'kadence_disable_post_related' );

Schreibe einen Kommentar