content-status

Zvolené téma neobsahuje zatím 1žádnou odpověď. Do diskuze (2 účastníci) se naposledy zapojil uživatel  admin a poslední změna je stará 7 let, 6 měsíců.

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

    wedr
    Participant

    mám šablonu podobné twentyeleven a mám tam ty post contenty… potřeboval bych aby se v jedné části stránek zobrazovaly jen články označené status…

    poradíte mi někdo? zkoušel jsem query ale nějak se mi to nepovedlo

    #14058

    admin
    Keymaster
    Web

    Výrazem “post contenty” máte na mysli formáty příspěvků?

    Co se na “query” nepovedlo? Máte nějakou konkrétní ukázku kódu?

    Dotazování na příspěvky konkrétního formátu bez problémů funguje. Formáty příspěvků jsou vlastně položkami speciální interní taxonomie s názvem post_format, takže musíte v tomto případě použít parametr tax_query pro funkci WP_Query(). Další podrobnosti a složitější příklady naleznete zde (anglicky).

    Existují také různé widgety, např. Ambrosite Post Formats Widget pro zobrazování formátů příspěvků v podobě odkazů na jejich celkový výpis (archiv).

    #14059

    wedr
    Participant

    ok takže jsem logicky použil <?php $format = get_post_format('status'); ?> na vypsání všech článku jenž mají tento parametr…

    ovšem otázkou je proč se mi to nezobrazilo :(

    #14060

    admin
    Keymaster
    Web

    Funkce get_post_format() má zcela jiné použití. Pokud ji umístíte v cyklu (loop), tak vrátí aktuální formát konkrétního příspěvku. Jejím parametrem nemůže být formát (např. status), ale pouze ID příspěvku, u kterého chcete získat konkrétní formát. Takže uvedený kód nevrátí vůbec nic (a ještě je také potřeba nechat vypsat hodnotu proměnné $format a ne do ní jen uožit hodnotu). Zkuste se prosím podívat na příklady a odkazy, které jsem uvedl výše…

    #14061

    wedr
    Participant

    Aha jsem ztracen… když jsem nahodil query tak mi to ovlivnilo hlavní content článků a já chtěl aby to je vypsalo všechny status formats v určité části webu :(

    #14062

    admin
    Keymaster
    Web

    Z takového popisu se těžko něco usuzuje… Obecně nesmíte modifikovat hlavní cyklus (loop), ale vytvořit další (sekundární) nezávislý cyklus. Pokud se chystáte zobrazovat příspěvky s určitým formátem na nějaké stránce, tak tu máme mnoho souvisejících vláken. Každopádně budou potřeba další podrobnosti…

    #14063

    wedr
    Participant

    dobře uvedu přesný příklad…

    na stránce mypixel potřebuji aby vedle toho slideshow se zobrazovali příspěvky jenom status…

    a dole pod slideshow všechny příspěvky včetně statusu. Však použiji li query tak mi sice zobrazí jen statusy vedle slideshow ale zároveň mi to zobrazí jenom statusy pod slideshow… což nechci ;)

    #14064

    admin
    Keymaster
    Web

    Bude potřeba ukázka kódu, patrně tam bude nějaká chyba…

    #14065

    wedr
    Participant

    Samozřejmě

    get_header(); ?>

    <div class="underheader">

    <div class="slider">

    <?php echo minecraft_slider_template(); ?>

    </div>

    <div id="status">

    <?php

    $args = array(

    'tax_query' => array(

    array(

    'post_type' => 'status',

    'posts_per_page' => 5

    )

    )

    );

    query_posts( $args );

    ?>

    <?php $query = new WP_Query(); ?>

    <?php if($query->have_posts()) : ?><?php while($query->have_posts()) : $query->the_post(); ?>

    <?php the_content(); ?>

    <?php endwhile; endif; ?>

    </div>

    </div>

    <div class=”clear”></div>

    <div id=”primary”>

    <div id=”control”>

    <?php get_search_form(); ?>

    </div>

    <div id=”content” role=”main”>

    <?php if ( have_posts() ) : ?>

    <?php minecraft_content_nav( ‘nav-above’ ); ?>

    <?php /* Start the Loop */ ?>

    <?php while ( have_posts() ) : the_post(); ?>

    <?php

    /* Include the Post-Format-specific template for the content.

    * If you want to overload this in a child theme then include a file

    * called content-___.php (where ___ is the Post Format name) and that will be used instead.

    */

    get_template_part( ‘content’, get_post_format() );

    ?>

    <?php endwhile; ?>

    <?php minecraft_content_nav( ‘nav-below’ ); ?>

    <?php else : ?>

    <article id=”post-0″ class=”post no-results not-found”>

    <header class=”entry-header”>

    <h1 class=”entry-title”><?php _e( ‘Nothing Found’, ‘minecraft’ ); ?></h1>

    </header><!– .entry-header –>

    <div class=”entry-content”>

    <p><?php _e( ‘It seems we can’t find what you’re looking for. Perhaps searching can help.’, ‘minecraft’ ); ?></p>

    <?php get_search_form(); ?>

    </div><!– .entry-content –>

    </article><!– #post-0 –>

    <?php endif; ?>

    </div><!– #content –>

    </div><!– #primary –>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>

    #14066

    wedr
    Participant

    pro lepší čtení

    tady je gits

    #14067

    admin
    Keymaster
    Web

    Nejdříve tedy chcete pouze statusy (formát příspěvků) a až poté výpis všech příspěvků? Jednodušší by to asi bylo obráceně, ale je to asi jedno…

    Je tam hned několik důležitých chyb:

    1) 'post_type' => 'status'

    Nesmysl. Pokud jde o formáty příspěvků, tak je status položkou taxonomie post_format, tedy správně takto (vysvětloval jsem to o pár odpovědí výše):

    'tax_query' => array(
    array(
    'taxonomy' => 'post_format',
    'field' => 'slug',
    'terms' => array( 'post-format-status' ),
    'operator' => 'IN'
    )
    )

    2) Používáte správně nejdříve funkci query_posts() pro modifikaci základního cyklu (loop), ale hned poté zbytečně WP_Query(). Musíte nechat nejdříve proběhnout cyklus a zobrazit příspěvky a až poté je třeba spustit funkci WP_Query() a udělat nový cyklus, tentokrát na všechny příspěvky. Prohlédněte si příklad, pouze v prvním případě tam máte funkci query_posts().

    A možná to lze udělat ještě jednodušeji, tedy nejdříve provést speciální WP_Query() na statusy a následně jen nechat zobrazit obsah primárního cyklu na homepage, takže nepotřebujete ani funkci query_posts().

    Podle příkladu se patrně pokoušíte o vnořený cyklus, což se ale podle mě v tomto případě nehodí…

    Zkuste to dát dohromady, pokud se nezadaří, tak to zkusíme nějak dokončit…

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

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