Vypsat články označené 2 konkrétními štítky

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Vypsat články označené 2 konkrétními štítky

Štítky: 

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.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)
  • Autor
    Příspěvky
  • #1497

    Lajka
    Participant
    Web

    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.

    #10939

    neteyescz
    Participant

    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

    #10940

    Lajka
    Participant
    Web

    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' ) );

    #10941

    admin
    Keymaster
    Web

    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 :-)

    #10943

    Lajka
    Participant
    Web

    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.

    #10944

    admin
    Keymaster
    Web

    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 ) );

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti