následující příspěvek, ale jen v kategorii

Úvodní stránka Fórum podpory WordPressu Čeština pro WordPress následující příspěvek, ale jen v kategorii

Zvolené téma obsahuje celkem 16 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  BorgMcz a poslední změna je stará 8 let, 9 měsíců.

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

    BorgMcz
    Participant
    Web

    Chtěl bych poprosit o pomoc s úpravou php kodu.

    Pokud si na stránce kliknu na výpis příspěvků v kategorii, zde nějaký vyberu a nechám zobrazit. Na konci toho příspěvku mám pak linky na předchozí a následující příspěvek. Já by jsem chtěl docílit toho, aby tyto odkazy byly pouze z kategorie ze které jsem se na příspěvek dostal (nebo podle toho z jaké kategorie je ten zobrazený). V současné době se zobrazují i odkazy na přispěvky z ostatních kategorii.

    Zde je současný kód:

    <?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '<<<', 'Previous post link', 'lrdpz' ) . '</span> %title' ); ?><br />
    <?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '>>>', 'Next post link', 'lrdpz' ) . '</span>' ); ?>

    Byla by nějaká možnost jak opravit?

    Děkuji.

    #9788

    neteyescz
    Participant

    Dobrý den,

    Jednoduše. Stačí pouze přidat podmínku $in_same_cat na true.

    Více: http://codex.wordpress.org/Function_Reference/previous_post_link .

    Neteyes.cz

    #9789

    BorgMcz
    Participant
    Web

    Super děkuji, to už snad zvladnu vložit na správné místo.

    #9790

    BorgMcz
    Participant
    Web

    Takže podle popisu vše funkční, upraveno takto

    <?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '<<<', 'Previous post link', 'lrdpz' ) . '</span> %title', TRUE ); ?>

    <?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '>>>', 'Next post link', 'lrdpz', TRUE ) . '</span>' ); ?>

    Ale zkusím ještě upřesnit požadavek.

    Ja bych potřeboval, když z té úvodní stránky (zde jsou náhledy všech přispěvků) přejdu na stránku některého z příspěvku, aby toto uvedené třídění nefungovalo. Potřebuji ty příspevky třídit až když přejdu z výpisu kategorie.

    Tedy jsem nějak schopen to ovlivnit podle toho odkud na přispěvek přicházím?

    Přijdu z úvodní stránky, tedy netřídím nebo přijdu už z výpisu konkrétní kategorie a tedy pak třídit.

    #9791

    neteyescz
    Participant

    Tak to bohužel nevím, ale možná by to šlo řešit tím, že by jste pro každou kategorii zvlášť nastavil vzhled pomocí souboru category-ID.php v adresáči se šablonou.

    #9792

    BorgMcz
    Participant
    Web

    A mohu poprosit trochu o rozvedeni te odpovedi… Soubor category-ID.php jsem u sablony nenasel.

    #9793

    neteyescz
    Participant

    Prostě vytvoříte soubor category-ID(kategorie).php a do něj vložíte obsah. Tento soubor definuje obsah kategorie.

    #9794

    BorgMcz
    Participant
    Web

    No ono to zni jednoduse, ale jen pokud vite o cem mluvite :-)) coz me se netyka a vubec netusim, jak to myslite .-)

    #9795

    neteyescz
    Participant
    #9796

    BorgMcz
    Participant
    Web

    Kazdopadne dekuji za napsani toho clanku na vesem webu, je mi to uz jasne, ale netusim, jak by se toho dalo vyuzit pri tom prochazeni prispevku a zobrazování dalsich nebo predchozich prispevku.

    Pokud to dobre chapu, tento navod se da pouzit jen pro pripad, kdyz nechavam vypisovat prispevky v kategorii a pro ruzne kategorie potrebuji i ruzny vzhled nebo styl vypsani…)

    PS: pouzil jsem slova kategorie, jako odmennu za tu peci se mnou :-)))

    Jen se zeptam, co presne pouzivate za plugin na to zobrazovani obrásků na stránce?

    #9797

    admin
    Keymaster
    Web

    neteyescz: Dobrá práce s manuálem, díky!

    Specifické šablony rubrik s tím ale nesouvisí, i když je hezké, mít je tu takto vysvětlené :-)

    V tomto případě bude potřeba natvrdo otestovat, odkud návštěvník na konkrétní příspěvek přichází, a to pomocí $_SERVER['HTTP_REFERER'].

    Příklad:

    <?php
    $url = site_url() . '/';
    if ( $_SERVER['HTTP_REFERER'] == $url ) {
    $omezeni_rubriky = false;
    }
    else {
    $omezeni_rubriky = true;
    }
    ?>
    <?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '<<<', 'Previous post link', 'lrdpz' ) . '</span> %title', $omezeni_rubriky ); ?>
    <?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '>>>', 'Next post link', 'lrdpz', $omezeni_rubriky ) . '</span>' ); ?>

    Pozor omezení funguje opravdu pouze na hlavní stránce, pokud by mělo jít i o další podmínky (výsledky vyhledávání, výpisy štítků, atd.), tak bude třeba celou funkci ještě trochu upravit.

    #9798

    admin
    Keymaster
    Web

    P.S. Co je to vlastně za šablonu s textdomain lrdpz?

    A jestli mohu tipovat ten plugin na obrázky, tak půjde o efekt FancyBox, konkrétně plugin FancyBox for WordPress.

    #9799

    BorgMcz
    Participant
    Web

    Tak jde o trochu upravenou sablonu “ThreatToCreativity 2.3”.

    Co je vlasten zač to “lrdpz”?

    Trosku bych tedy jeste poprosil o upravu, ja bych potreboval, aby to trideni podle kategorie bylo aktivni pouze, pokud se prijde z vypisu prispevku v kategorii. Tedy z techto linku:

    http://koralky.hopto.org/?cat=3 nebo http://koralky.hopto.org/?cat=4 nebo http://koralky.hopto.org/?cat=5.

    Príchod ze stitku, vyhledavani nebo archyvu aby nebylo tridene.

    Pujde to?

    #9800

    BorgMcz
    Participant
    Web

    Tak jsem vyzkousel ten kod, pracuje pouze pokud nepouziji link na ten dalsi prispevek, tim se pak pravidlo vyrusi, coz je vlastne spravne. Pokud mam kategorii A, B a C a prispevky serazene takto:

    A1, A2, A3, B1, A4, A5, C1, B2, C2, A6

    Z uvodni stranky prejdu na A3 tak je vse ok, vidim odkazy na prispevky A2 a B1, bliknu na B1 a od teto chvile vidim pouze NIC a B2, to je jiste spravne fungování toho kodu, protoze jsem na B1 neprisel z uvodni stranky, ale uz z A3.

    To ale prave neni to spravne fungovani.

    #9801

    admin
    Keymaster
    Web

    Pravda, uvedená ukázka řešení bude fungovat pouze pro první přístup z hlavní stránky. Nikdy by mě nenapadlo, co ještě uživatelé dokáží vymyslet za vychytávky :-)

    Šablona ThreatToCreativity není gettextovaná, takže mě zaujalo právě to lrdpz, což je unikátní identifikátor pro lokalizaci pluginů a šablon (tzv. textdomain) a je tam podle mě zbytečně. Odkud byl celý kód zkopírován?

    Uvedené řešení funguje pouze v jednom případě a aby fungovalo správně, tak bychom si museli informace někam průběžně ukládat (patrně využít cookies), což je ale už poměrně složitější úkol… A napadají mě ještě další situace, které mohou nastat – co když někdo přijde rovnou na výpis rubriky z vyhledávače? Co se bude dít v tomto případě?

    Požadovaným způsobem ale funguje plugin Smarter Navigation, který doporučuji vyzkoušet. Stávající funkce v šabloně se nahradí novými, např. previous_post_link() se po aktivaci pluginu přepíše na previous_post_smart(). Nevím, jestli bude fungovat úplně přesně podle požadavků, ale mnoho zmiňovaných věcí by tam mělo být ošetřeno. Dejte pak prosím vědět, jak testování dopadlo…

    #9802

    BorgMcz
    Participant
    Web

    Nejsem si uz uplne jisty, ale nejspise jsem to vykopitoval z meho webu http://dccmm.dyndns.info kde mam upravenou sablonu “Engineering and Machinering”.

    Děkuji za navedeni na plugin, zkusim to o vikendu prozkoumat.

    No on je to takovej darek pro pritelkyni, děla jako konicka ty cetky pro zenske :-) a chtela zda by mohla kamoškam dat link, kde by bylo videt co ma noveho. A myslim si, ze to je celkem normalni pozadavek, prochazet vse nove a nebo jen veci z kategorie.

    #9803

    BorgMcz
    Participant
    Web

    Tak jsem nevydrzel a dnes to rychle odzkousel. A opravdu to funguje jak jsem si predstavoval.

    Jen pozor na otevreni vice zalozek nebo prohlizecu, pak to reaguje podle toho , ktery provedl akci jako posledni, coz je pochopitelne.

    Takze velice dekuji za pomoc.

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

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