it-swarm.com.de

Ähnliche Beiträge - NO Plugin

Wie kann ich einen ähnlichen Beitragsabschnitt in meinem Thema erstellen, ohne ein Plugin zu verwenden? Ich werde mein Theme kostenlos verschenken, damit ich die Leute nicht zwingen muss, Plugins zu installieren, um mein Theme zu verwenden.

Wie geht das?

2
Jared

Schreibe dies in deine single.php:


$tags = wp_get_post_tags($post->ID);
if ($tags) {
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>4,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); 
 // post content stuff here
endwhile;
wp_reset_query();
}
}
1
Pippin

Die Grenze zwischen Theme-Code und Plugin-Code dient eher dem Verwendungszweck als der technischen Einschränkung. Beide können das tun, was andere tun.

Wenn Sie etwas Einfaches wollen (Posts mit demselben Tag oder in der Nähe davon), ist es kein Problem, es direkt in functions.php aufzunehmen.

Lösungen für verwandte Posts mit vollem Funktionsumfang können jedoch schnell komplex werden, was bedeutet, dass sie langsam sind, was bedeutet, dass sie intelligentes Caching benötigen.

3
Rarst

Entscheiden Sie, was Sie als "ähnlichen Beitrag" betrachten möchten. Am einfachsten ist es, Beiträge auszuwählen, die einen oder mehrere Tags gemeinsam mit dem aktuellen Beitrag haben. Dies sollte das (innerhalb Ihrer Schleife) tun:

$tags_in = array_map( 
    create_function('$tag','return $tag->term-id;'), 
    get_the_tags() );
$similar_posts = get_posts( array(
    'tag__in' => $tags_in ) );

Natürlich gibt es viel ausgefeiltere Möglichkeiten, um verwandte Beiträge zu finden, zumeist durch Vergleich der Beitragstitel und Wortanalyse des Inhalts. Schauen Sie sich den Code aus einem weiteren Plugin für verwandte Posts oder einem beliebigen anderen Beispiel an. , bevor du alleine zu tief gehst.

2
goldenapples