Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 12 let.
-
Můžete mi prosím poradit, jak získat výpis článků, které mají přidělené dva konkrétní štítky – u článku musí být oba.
Zkoušela jsem
query_posts( array( 'tag__and' => array($tag,$tag2), 'paged' => get_query_var('paged') ) );
… nenačte se vůbec stránka…
query_posts('tag_id='.$tag.'+'.$tag2.'&paged='.get_query_var('paged'));
…vypíše mi všechny články, které mají alespoň jeden z těch svou štítků, ale potřebuju, aby se vypsaly jen ty, které mají oba dva
Předem díky za radu.
Dobrý den,
Velmi zapeklitá otázka. Máte pravdu, pokud totiž použijeme funkci query, pak se nám vypíši příspěvky, které mají alespoň jednu danou vlastnost. Přemýšlím nad tím, jak by to šlo obejít, ale zatím mě nic nenapadá. Trochu nehorabaným stylem by bylo vytvoření nějákého tagu, které by se přidával jen k příspěvkům, které chci ve výpisu zobrazit.
Ještě o tom budu přemýšlet.
Neteyes.cz
jj, tím novým tagem jsem to nakonec opravdu obešla :-) původně mi přišlo zbytečné, aby ty články, co takhle potřebuju vybrat, měly další tag navíc.
U funkce query_posts() jsem našla možnost vypsat články náležející do dvou kategorií najednou, tak mi přišlo logické, že u tagů by to mohlo fungovat taky:
At 2.3 this combination will return posts belong to both Category 1 AND 3, showing just two (2) posts, in descending order by the title:
query_posts( array( 'category__and' => array(1,3), 'posts_per_page' => 2, 'orderby' => 'title', 'order' => 'DESC' ) );
Ano, fungovat by to tímto způsobem mělo, existují dokonce 2 možnosti (manuál).
query_posts( 'tag=stitek1+stitek2' );
Zde se zadávají URL štítků.
query_posts( array( 'tag__and' => array( 2, 3 ) ) );
Zde se zadávají ID štítků.
Problém by mohl být ve funkci get_query_var(), kterou přiřazujete v prvním příkladu do pole. Řešit to přidáním dalšího štítku je do budoucna cestou do pekel :-)
Obě tyto možnosti jsem zkoušela a vždycky se mi to celé kouslo :-( Potřebuju mít ty výpisy stránkované, takže jsem zatím zůstala u toho třetího štítku navíc, případně kombinace štítku s rubrikou.
Zkuste to ještě jednou :-)
V uvedených příkladech byla vždy chyba, takže to patrně nefungovalo. V prvním případě byl problém patrně ve funkci get_query_var(), kterou přiřazujete do pole (je třeba ji nejdříve přiřadit do proměnné). A v druhém případě šlo o použití neexistujícího parametru tag_id (správně je pouze tag).
Opravená ukázka (netestováno):
$strankovani = get_query_var( 'paged' );
query_posts( array( 'tag__and' => array( 2, 3 ), 'paged' => $strankovani ) );
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.
WordPress – novinky, návody a zajímavosti