Výpis příspěvků – vyjmutí nejnovějších 3 postů z výpisu

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Výpis příspěvků – vyjmutí nejnovějších 3 postů z výpisu

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

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

    LordGrey
    Participant

    Zdravím, potřeboval bych trochu poradit s úpravou výpisu příspěvků u WP šablony:

    na titulní stránce mám slider, který zobrazuje 3 nejnovější příspěvky a jejich titulní obrázky, přičemž pod ním je klasický výpis nejnovějších příspěvků – no a problém je v tom, že v tom normálním výpisu se opět opakují ty tři nejnovější příspěvky, což už pochopitelně nechci když jsou jako nejnovější v tom slideru…

    Takže hledám, jak upravit stávající kód tak, aby mi to na titulní stránce vypsalo příspěvky až od 4. nejnovějšího a další stránky se tomu přizpůsobily (tj. pokud mám stránkování po 5 příspěvcích, tak aby na titulní stránce byly příspěvky 4 – 8, na druhé logicky 9 – 13 atd…) Snad jsem to napsal srozumitelně:-)

    Podle WP manuálu by toto měl zvládat parametr offset u query_posts, nicméně tento způsob způsobuje znefunkčnění stránkování – řešení tohoto známého problému by mělo být uvedeno zde, nicméně z mně neznámého důvodu mi tam uvedené řešení nefunguje… Možná to třeba jen vkládám na špatné místo, ale pořád mi to vypisuje všechny příspěvky, takže si s tím nevím rady…

    Kód z výše zmíněného návodu vkládám (tak jak tam je) v index.php

    mezi

    if ( have_posts() ) :

    a

    while ( have_posts() ) : the_post();

    Předem díky za pomoc!

    #16675

    LordGrey
    Participant

    Tak hlásím pokrok:

    Pochopitelně to musí být vloženo do functions.php a musí tam být i upravena podmínka (místo is_posts_page jsem dal is_home, když to chci na úvodní stránce). Teď už to pracuje korektně – při výpisu se první 3 příspěvky nezobrazí a i stránkování funguje tak jak má… ovšem je tu jeden docela kardinální problém – tahle úprava mi ovlivňuje všechny výpisy na úvodní stránce, tj. i onen slider a dokonce i widget s nejnovějšíma postama. Což je pochopitelně velmi nežádoucí – jakou tam mám dát podmínku, aby mi to bralo jen ten hlavní výpis u kterého to potřebuji? (is_main_query mi na tohle nefunguje…)

    #16676

    LordGrey
    Participant

    Tak jsem opět trochu pokročil (koukám, že tu provozuju samo-poradnu:-D):

    Našel jsem NÁVOD, který se výběru konkrétní query zabývá. Nicméně tento návod počítá s tím, že tam query začíná tímto “new WP_Query(…);”, což ale u sebe nemám, u mě to je pouze takto:

    if ( have_posts() ) :
    while ( have_posts() ) : the_post();
    ...atd

    Je nějaký způsob, jak tuto konkrétní query “vybrat” pro další zpracování, ať už podle toho návodu nebo jinak?

    Pozn.: zkusil jsem tu druhou variantu z toho návodu:

    // tell WordPress about our new query var
    function wpse52480_query_vars( $query_vars ){
    $query_vars[] = 'my_special_query';
    return $query_vars;
    }
    add_filter( 'query_vars', 'wpse52480_query_vars' );

    // check if our query var is set in any query
    function wpse52480_pre_get_posts( $query ){
    if( isset( $query->query_vars['my_special_query'] ) )
    // do special stuff

    return $query;
    }
    add_action( 'pre_get_posts', 'wpse52480_pre_get_posts' );

    // set the query var (along with whatever others) to trigger the filter
    $args = array(
    'my_special_query' => true
    );
    $my_secondary_loop = new WP_Query( $args );

    -to sice fungovalo v tom smyslu, že se konečně nezobrazovaly první tři příspěvky jen v tom hlavním výpisu, u ostatních to bylo v pořádku, nicméně mi to rozbilo stránkování (na druhé stránce jsem měl duplicitně obsah stránky první, tj. opět příspěvky 4-8), takže to bylo nepoužitlené…

    #16677

    LordGrey
    Participant

    Tak nic, trochu jsem nad tím bádal a přišel jsem na to, že chyba bude někde jinde, a že jsem si asi vymyslel a po WP chci nějaký nesmysl… Takže problém s opakujícíma se postama jsme vyřešil tak, že jsem do slideru zahrnul i starší posty a promíchal jsem jejich pořadí…

    Toto vlákno je už tedy neaktuální…

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.