Zákaz výpisu konkrétního příspěvku na úvodní straně.

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Zákaz výpisu konkrétního příspěvku na úvodní straně.

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

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

    BorgMcz
    Participant
    Web

    Dobrý den,

    potřeboval bych poradit s následujícím problémem:

    mám dva příspěvky, které jsou každý v jiné rubrice, jsou si hodně podobné a tak bych chtěl jednomu znich zakázat výpis na úvodní stránce, kde jsou náhledy všech příspěvků.
    Úvodní stránka je vytvořená tak, že se vypíše 15 nejnovějších příspěvků a pomocí pluginu page-navi se další vypisují na následujících stránkách.

    Pokusil jsem se vytvořit tento kód, který jsem vložil do loopu:

    <?php if ( is_home()  ) : ?>
    <?php global $query_string; query_posts( array ( 'post__not_in' => array(2077) ) ); ?>
    <?php endif;  ?>

    Tento kód sice zajistil, že konkrétní příspěvek se na úvodní stránce nezobrazuje, bohužel ale na úvodní stránce se na odkaz na další stránku s náhledem starších příspěvků ( např. http://dccmm.dyndns.info/index.php/page/3/ ) opět vypíše první stránka s náhledy.

    Chtěl bych se zeptat, zda neexistuje nějaký plugin, ve kterém bych mohl označit články, které nemají být na úvodní stránce a nebo kde jsem udělal chybu.

    Děkuji.

    #14033

    jardakiss
    Participant

    Já spokojeně používám tento http://wordpress.org/extend/plugins/wp-hide-post/ ale je už dlouho neudržovaný.

    #14034

    admin
    Keymaster
    Web

    Ano, v kódu je chybka, podívejte se do manuálu. Pokud chcete zachovat původní parametry dotazu, tak bohužel nemůžete použít proměnnou $query_string, protože je určena zejména pro zkrácený zápis funkce query_posts(). Pokud ale potřebujete složitější zápis parametrů, tak je to třeba udělat takto:

    global $wp_query;
    $args = array_merge( $wp_query->query_vars, array ( 'post__not_in' => array(2077) ) );
    query_posts( $args );

    Když už to máte připravené a nepotřebujete žádnou další funkčnost, tak bych ani žádný plugin nepoužíval. Případné tipy na související pluginy naleznete zde.

    A pokud nechcete zasahovat do souborů šablony, tak můžete vše upravit tak, aby z toho byl malý plugin, když využijete filtr pre_get_posts. Není to ani moc složité a je to bonusová “lahůdka” :-)

    #14035

    BorgMcz
    Participant
    Web

    Děkuji za rady a pomoc. Přiznám se však, že z lenosti jsem použil ten plug-in, který mi poradil “jardakiss”. Funguje přesně jak potřebuji.

    Děkuji.

    #14036

    admin
    Keymaster
    Web

    Nevadí :-)

    Plugin sice není udržovaný, ale podle hodnocení funguje, což je hlavní. Patrně je to jen malý plugin s několika funkcemi, který bude fungovat ještě dlouho…

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

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