PRE GET POSTS nefungují

Štítky: , ,

Zvolené téma obsahuje celkem 3 odpovědi. Do diskuze (1 účastník) se naposledy zapojil uživatel  sjiamnocna a poslední změna je stará 8 let, 2 měsíce.

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)
  • Autor
    Příspěvky
  • #26567

    sjiamnocna
    Participant
    Web

    Ahoj,
    dostal jsem od klienta zadání, že mám vytvořit widget, umožňující uživateli změnit pořadí příspěvků v archivu (ASC, DESC), vytvořil jsem jej, u mně (localhost + endora freehost) to funguje.

    U klienta na serveru ale web odporuje jakémukoliv pokusu o změnu řazení, a tvrdošíjně předkládá i po klikání na tlačítka pojmout řazení, tak jak to má být – tedy podle $_GET požadavku.

    V šabloně jsem nenašel žádnou zmínku o WP_Query, pre_get_posts nebo query_posts, které by řazení bránily

    Můžete to vidět zde (titulek “Příspěvky řadit:”):
    http://neznamadomena.cz/sexy/?poradi=vzestupne

    Máte někdo představu, čím by to mohlo být?

    function filterquery($q) {
    
        //mění pořadí příspěvků na domovské stránce s příspěvky nebo v archivech, podle parametru 'poradi', ktery je v adrese
        if (( is_archive() || is_home() ) && isset($_GET['poradi']) && $poradi = $_GET['poradi']) {
            if (in_array($poradi, array('vzestupne', 'sestupne')))
                $q->set('order', ( $poradi == 'vzestupne' ) ? 'ASC' : 'DESC' );
        }
    }
    add_action('pre_get_posts', 'filterquery', 25);
    #26568

    sjiamnocna
    Participant
    Web

    Ještě dodám, že po přidání echo do filtru pre_get_posts vyšlo to, co je na obrázku a vyppadá to, jakoby se to spouštělo Xkrát dokola?!? Co je to?

    #26573

    sjiamnocna
    Participant
    Web

    Tak jsem soubor složitě vystopoval hluboko v šabloně a trochu pozměnil. Poprosím @admin a o smazání dotazu

    #26585

    sjiamnocna
    Participant
    Web

    Takže nakonec to dopadlo dobře;

    Při vrtání zdrojovým kódem mi vyšlo, že “výpis” je vlastně stránka, tvořená speciální šablonou template-postlist-sidebar.php, ve které se nachází volání na WP_Query, která za to celé mohla. Doplnil jsem do ní parametry order a už to šlape :)

    Ale že to byla práce na to přijít :D

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)

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

WordPress – novinky, návody a zajímavosti