For 5 år siden lavede jeg en lille plugin som siden har virket på min hjemmeside.
http://wp-danmark.dk/forum/topic/sortering-efter-2-kategorier#post-11895
Nu vil jeg gerne opdatere og simplificere denne plugin.
ja, faktisk vil jeg gerne have den som funktion i temaets functions.php i stedet for at være en plugin.
Jeg har læst at det burde være hip-som-hap om jeg skriver en plugin eller tema-funktion.
Derudover har jeg fundet ud af at query_posts faktisk kan finde poster med 2 kategorier på en enkelt måde, med et 'category__and' => array(,),
Derfor er den gamle plugin nu omskrevet til:
add_shortcode('tokat', 'to_kat');function to_kat($atts) {
extract(shortcode_atts(array('cata' => '', 'catb' => ''), $atts));
$category1 = explode(",",$cata);
$category2 = explode(",",$catb);
foreach ($category2 as $cat) :
wp_reset_query();
query_posts( array( 'category__and' => array($category1,$cat), 'posts_per_page' => 1, 'orderby' => 'post_date', 'order' => 'DESC' ) );
while ( have_posts() ) : the_post();
get_template_part( 'content', get_post_format() );
endwhile;
endforeach;
}
Ideen er så at man skriver i en side [tokat cata="1" catb="2,3,4,5,6"] og så vil der dukke en liste op når man kalder siden.
Resultatet skal så blive en liste med 5 poster.
MEN, det virker ikke!
Jeg tror fejlen ligger i "array($category1,$cat)" jeg tror ikke den virker med variable men skal skrives "array(1,2)"
Eller er jeg forkert på den?
Måske er det lettere at skrive ind som en sideskabelon, i stedet for plugin eller funktion?