V systéme WordPress mám dve kategórie. Jedným z nich sú udalosti a druhým sú správy. Musím načítať príspevky do dvoch kategórií na tej istej stránke. V kategórii správ sú iba 4 príspevky. A udalosti môžu byť pridané k užívateľovi. Musím zobraziť prvých 8 udalostí podľa dátumu uverejnenia. Píšem obe kategórie pomocou dvoch otázok a prejdem na pole.
Za týmto účelom som kódoval, ako je uvedené nižšie:
$event_title = array();
$event_author = array();
$event_content = array();
$event_thumbnail = array();
$event_counter = 0 ;
$arg = array(
"numberposts" => 8,
"offset" => 0,
"category" => 17,
"orderby" => "post_date",
"order" => "ASC",
"post_type" => "post",
"post_status" => "draft, publish, future, pending, private",
"suppress_filters" => true
);
$events = new WP_Query( $arg );
if ($events->have_posts()) : while ($events->have_posts()) : $events->the_post();
$event_title[$event_counter] = get_the_title();
$event_author[$event_counter] = get_the_author();
$event_content[$event_counter] = get_the_content();
$event_thumbnail[$event_counter] = get_the_post_thumbnail();
$event_counter++;
endwhile; endif;
ID kategórie pre udalosti je 17, idem nájsť metódu echo get_cat_ID( "events" );
Problém je v tom, že príspevky sa nezískavajú na základe kategórie. Berie prvých 8 príspevkov bez ohľadu na kategóriu. Ako môžem vyriešiť tento problém.
odpovede:
1 pre odpoveď č. 1Vo svojom kóde používate $ arg, s "category" => 17, ale v kódex je napísané:
cat (int) - use category id.
category_name (string) - use category slug (NOT name).
category__and (array) - use category id.
category__in (array) - use category id.
category__not_in (array) - use category id.
Takže musíte použiť mačka pre číslo kategórie alebo pole použitia s category__in