Hi Leute !
Ich habe da mal (zumindest für mich) ein etwas komplizierteres Problem.
Ich möchte gerne in der single-post-view (single.php) unter dem eigentlichen Inhalt die "Related Posts" anzeigen, welche zu den Tags der aktuellen Post passen.
Aktuell sähe das so aus (teilweise) :
if($tags) {
foreach($tags as $tag) {
$tagsA[] = $tag->term_id;
}
}
$args = wp_parse_args($args, array(
'showposts' => 4,
'post_type' => $post_types,
'post__not_in' => array($post_id),
'tag__in' => $tagsA,
'ignore_sticky_posts' => 1,
));
Alles anzeigen
Damit erhalte ich zwar die posts die zu den aktuellen tags passen, allerdings in der normalen Sortierung (also neuestes zuerst)
Ich möchte hier aber eine Gewichtung haben nach Anzahl der übereinstimmenden Tags.
Also wenn das aktuelle post 5 Tags hat, sollen zuerst die angezeigt werden bei denen alle übereinstimmen. Dann die mit 4 gleichen Treffern usw.
Insgesamt sollen es ja nur 4 Stück sein.
Mir fällt nun eigentlich nur ein hier mehrere Queries zu machen und einen internen Zähler hochzuzählen.
Also statt "tag__in" müßte ich "tag__and" verwenden und zuerst nach allen 5 suchen.
Danach dann eine Schleife bilden und nach vier der Tags suchen. usw.
Das geht doch bestimmt auch eleganter.
Jemand eine Idee ?
Gibt es da schon ein Plugin ?