• Rozwiązano bonson

    (@bonson)


    Moje przykładowe menu wygląda tak:
    Nowości , Informacje , Aktualizacje – każda z tych pozycji w menu to „Kategoria”.
    loop – „wygląd” wszystkich wpisów w danej kategorii
    loop-single – „wygląd” pojedynczego wpisu

    I teraz moje pytanie: Chce aby w Kategorii Nowości i Informacje wygląd (css i html) pojedynczego posta był według stylu z loop-single a Aktualizacje miał całkowicie inny styl np. o nazwie loop-single2.
    Da się to zrobić? Jeśli tak w jaki sposób?

Zobacz 4 odpowiedzi - od 1 do 4 (z 4 łącznie)
  • Da się.

    Akurat loop- i loop-single nie są domyślnymi plikami szablonów WP, więc i tak już w motywie masz zakodowaną jakąś logikę, która decyduje o tym, którego szablonu użyć.

    Domyślnie widok kategorii korzysta z category.php, archive.php lub index.php (w takiej kolejności – jeśli nie ma pierwszego, to próbuje drugi, itd…)

    Natomiast widok pojedynczego wpisu: single.php, index.php…

    Dokładną rozpiskę hierarchii szablonów masz tutaj:
    http://codex.wordpress.org/Template_Hierarchy

    Twórca wątku bonson

    (@bonson)

    Próbowałem już różnych sposobów ale coś robię źle…
    Jeśli moja kategoria nazywa się Aktualizacje to powinno być
    page-aktualizacje.php ?

    Zrobiłem stronę statyczną aktualizacje.php na która wstawiłem wpisy z danej kategorii a następnie ustaliłem ją na Template po czym stworzyłem page-aktualizacje.php ten sposób niestety też nie zadziałał…

    Dla sprawdzenia próbowałem z page-{id}.php i ten sposób działa tak wiec robię coś nie tak.
    Mam jeszcze pytanie – czy jest możliwość że mam coś w kodzie źle przez co single-{post_type}.php nie jest wyświetlane?

    Przeczytaj uważnie artykuł, do którego podesłałem Ci linka…

    1. Temlate’y page-…php są odpowiedzialne za wyświetlanie stron, a nie wpisów.

    2. Nie ma prostej możliwości zrobienia single-kategoria.php, jest jedynie single-typ_wpisu.php

    3. Widok archiwum danej kategorii możesz zmieniać za pomocą category-kategoria.php lub category-id_kategorii.php.

    4. Jeśli chcesz zmieniać wygląd pojedynczego wpisu w zależności od tego, w jakiej jest kategorii, to musisz to zrobić ręcznie, odpowiednio modyfikując plik single.php…

    Twórca wątku bonson

    (@bonson)

    Zrobiłem to za pomocą tego kodu:

    <?php $post = $wp_query->post;
     if ( in_category('9') ) {
     include(TEMPLATEPATH . '/single9.php'); }
     elseif ( in_category('15') ) {
     include(TEMPLATEPATH . '/single-15.php'); }
     elseif ( in_category('18') ) {
     include(TEMPLATEPATH . '/single-name.php'); }
     else {
     include(TEMPLATEPATH . '/single-default.php'); } ?>

Zobacz 4 odpowiedzi - od 1 do 4 (z 4 łącznie)

Temat ‘loop-single w różnych stylach’ jest zamknięty na nowe odpowiedzi.