Wsparcie » Używanie i konfiguracja WordPressa » Grafika w poście danej kategorii

  • Rozwiązano CyberFaust

    (@cyberfaust)


    Witam. Chciałbym, aby posty danej kategorii lub o danym tagu (co łatwiejsze) wyświetlały nad lub pod postem pewną grafikę.

    Prawdopodobnie trzeba dopisać fragment kodu do szablonu single.php jednak nie wiem jaką ma przybrać formę. Z góry dziękuję za pomoc.

Viewing 15 replies - 1 through 15 (of 16 total)
  • Plugin Categories Images powinien rozwiązać Twój problem.

    – w dokumentacji jest przykład dla postów.

    Należy jednak pamiętać o tym, że post może być przypisany do wielu kategorii 😉

    Thread Starter CyberFaust

    (@cyberfaust)

    Wybaczcie ale nie rozumiem tych przykładów. Jestem zielony z php. Zainstalowałem plugin. Dodałem grafikę dla danej kategorii w spisie kategorii i koniec, dalej nie wiem co robić. Może ktoś konkretnie powiedzieć mi gdzie i co mam wkleić?

    Ten kawałek

    <ul>
     <?php foreach (get_categories() as $cat) : ?>
     <li>
     <img src="<?php echo z_taxonomy_image_url($cat->term_id); ?>" />
     <a href="<?php echo get_category_link($cat->term_id); ?>"><?php echo $cat->cat_name; ?></a>
     </li>
     <?php endforeach; ?>
    </ul>

    Wstawiasz w loopie odpowiedzialnym za wyświetlanie wpisu – najczęściej w pliku single.php …ale to zależy już od konkretnego motywu.

    Thread Starter CyberFaust

    (@cyberfaust)

    Wstawiłem ten kod jednak teraz każdy post wyświetla mi listę linków do wszystkich kategorii plus grafikę kategorii którą ustaliłem.

    to usuń z powyższego cały <a href… i będzie tylko obrazek/obrazki, już bez linków

    Thread Starter CyberFaust

    (@cyberfaust)

    Hmm. Jest grafika, już bez linków ale wyświetla się w każdym poście a nie tylko w poście danej kategorii.

    Wyjaśnij może, co masz na myśli pisząc „poście danej kategorii” ?
    -w poście należącym do kategorii XYZ, ale nie w poście należącym do kategorii ZZZ czy ABC ? …czy może coś innego?

    Thread Starter CyberFaust

    (@cyberfaust)

    Mam kategorię News, Wywiad, Sport. Chce aby grafika pokazywała się tylko we wpisach z kategorii Sport, ale pokazuje się we wszystkich postach mimo, że grafikę ustawiłem tylko dla kategorii Sport.

    no to dać musisz coś w ten deseń

    <?php
    foreach (get_the_category() as $cat) {
     if($cat->slug == 'sport') echo '<img src="'.z_taxonomy_image_url($cat->term_id).'" alt="" />';
    }
    ?>

    Thread Starter CyberFaust

    (@cyberfaust)

    Wielkie dzięki. Działa.

    witam, podczepię sie tutaj gdyż powyższe rozwiązanie jest najbliższe mojemu problemowi

    <?php
    foreach (get_the_category() as $cat) {
    if($cat->slug == 'sport’) echo '<img src=”’.z_taxonomy_image_url($cat->term_id).'” alt=”” />’;
    }
    ?>

    wyświetla wszędzie: dla kategorii i wpisów
    a mi potrzeba tylko wpisów w konkretnej kategorii (bez samych kategorii)

    warunek
    if( is_single() )
    albo
    if( !is_category() )

    jakby to było takie proste 😉

    Niestety nie działa i to nie jest to co chce osiągnąć.
    Ma spełniać poniższy warunek (tylko że mi nie działa)

    if(is_category( array( 380 ) ) && is_single())

    Jest proste 😉
    …i zgadza się, twój kod nie działa -bo brakuje w nim logiki.

    Warunek is_category działa jedynie na kategorii, is_single na stronie/wpisie. Razem nie zadziałają, bo kategoria nie jest stroną/wpisem i odwrotnie.
    Bardziej obrazowo…
    Masz przykładowo kategorię XYZ z wpisami ABC i DEF.
    Jeżeli wejdziesz w kategorię, będzie spełniony warunek is_category i is_category($parametr) -gdzie parametr, to id kategorii, slug etc.
    Więcej na http://codex.wordpress.org/Function_Reference/is_category
    Natomiast nie będzie spełniony warunek is_single – bo kategoria nie jest stroną/wpisem.

    A gdy wejdziesz we wpis ABC lub DEF, to będzie spełniony warunek is_single ….ale nie będzie spełniony żaden warunek is_category – powód? bo oczywiście wpis != kategoria !

    Zatem odpowiedzią na twoje pytanie jest np. podany w poście wyżej warunek is_single – zostanie spełniony dla wpisu, nie dla samej kategorii. A to jakiej ma dotyczyć kategorii jest już w pętli foreach – czyli np.:
    if($cat->slug == 'sport') czy jak wolisz if($cat->cat_ID == 380)

Viewing 15 replies - 1 through 15 (of 16 total)
  • Temat ‘Grafika w poście danej kategorii’ jest zamknięty na nowe odpowiedzi.