Wsparcie » Rozmaitości » Zmiana układu wyświetlania wpisu w motywie Twenty Seventeen

  • Rozwiązany arek991

    (@arek991)


    Witajcie, mam pewien zapewne błahy problem.
    Wchodząc w podstrone z blogiem, tam gdzie wyświetlane są wszystkie wpisy jeden pod drugim to zdjęcie wyróżniające wpis jest nad tytułem wpisu, zależy mi na zmianie kolejności wyświetlania tych 2 elementów, mianowicie chciałbym aby była następująca kolejnosc
    Tytuł, zdjęcie wyróżniające i dopiero cała reszta.
    Po wejściu w konkretny wpis powinno pozostać tak jak w oryginale, tzn. zdjęcie wyróżniające, pod spodem tytuł i dalej cała reszta.
    Niestety nie potrafię się połapać w którym pliku powinienem wprowadzić modyfikacje i mniej więcej w jaki sposób.
    Motyw standardowy Twenty Seventeen.

Viewing 9 replies - 1 through 9 (of 9 total)
  • Eeee, przecież tak właśnie jest w TS jak to życzeniowo opisałeś – w archiwach kolejno meta, tytuł, obrazek wyróżniający, treść ….a w samym wpisie obrazek wyróżniający na samej górze.

    Tutaj jest demo – możesz sobie sprawdzić, na samym dole są wpisy z obrazkiem.

    Faktycznie tak jest, zapomniałem że korzystam z Shortcode i wtyczki
    Display Posts. Samego układu wyświetlania poprzez wtyczkę raczej nie jestem w stanie zmieć, prawda?
    W związku z tym pojawia się kolejne pytanie. Ręcznie w katalogu motywu utworzyłem nowy plik z kodem który powinien wyświetlić wpisy, jednak otrzymuję komunikat
    echo ‚<h3>Dodaj jakieś wpisy!</h3>’;
    echo ‚<p>Jeżeli jakieś dodałeś, sprawdź kategorię i poprawność kodu</p>’;
    Wpisy na pewno są dodane. Jaki może być powód nie wyświetlania ich?

    Cały kod który powinien wyświetlić wpisy, dodam że docelowo potrzebuję wpisy z jednej kategorii:

    <?php
    // The Query
    $the_query = new WP_Query( $args );

    // Nasza pętla
    if ( $the_query->have_posts() ) {
    echo ‚

      ‚;
      while ( $the_query->have_posts() ) {
      $the_query->the_post();
      echo ‚

    • ‚ . get_the_title() . ‚
    • ‚;
      }
      echo ‚

    ‚;

    wp_reset_query();
    } else {
    echo ‚<h3>Dodaj jakieś wpisy!</h3>’;
    echo ‚<p>Jeżeli jakieś dodałeś, sprawdź kategorię i poprawność kodu</p>’;
    }
    ?>

    Utworzyłeś nowy obiekt, ale nie określiłeś dla niego argumentów ($args), dlatego taki wynik funkcji warunkowej: else: sprawdź kategorię i poprawność kodu.

    Powinno określić przynajmniej jeden argument:

    $query = new WP_Query( array( 'category_name' => 'staff' ) );

    Więcej przykładów znajdziesz tutaj:
    https://developer.wordpress.org/reference/classes/wp_query/

    • Odpowiedź została zmodyfikowana 2 months, 3 weeks temu przez Pawel. Powód: link do dokumentacji
    • Odpowiedź została zmodyfikowana 2 months, 3 weeks temu przez Pawel. Powód: link do dokumentacji

    Dziękuję Wam za naprowadzenie na właściwy tor 🙂
    Mam jeszcze jedno małe pytanie. Czy jest możliwość podpięcia pod sekcję strony głównej tego nowo utworzonego pliku z wpisami? Niestety na tą chwilę po podpięciu nic się nie pojawia w owej sekcji, natomiast wybierając stronę w przeglądarce wyświetla wyniki prawidłowo, pozostałe sekcje ze stron wygenerowanych w panelu admina również wyświetlają się prawidłowo.

    Na pewno Ustawienia-> Czytanie i tam ustawiasz sobie stronę statyczną a dla niej utworzony przez ciebie szablon.
    Domyślny szablon dla strony statycznej to plik front-page.php ale ten motyw to ma to tak jakoś porozdzielane chyba jeszcze inaczej. Nie jestem teraz pewiem. Musial bym sprawdzić przez komputer, bo na telefonie nie mam dostępu.

    Wygląd >> Dostosuj >> Ustawienia motywu – domyślnie są 4 sekcje, dla których można wybierać jaka stronę maja pokazywać.
    Jeżeli potrzeba więcej sekcji, to ich ilość można filtrem „uzupełnić”:
    add_filter( 'twentyseventeen_front_page_sections', function(){ return 6;} );

    Generalnie sekcje mam już dodane, problemem jest że dodając do sekcji stronę której zawartość ma być wyświetlana, pojawia się puste pole.

    Może po klei.
    1. W pierwszej kolejności utworzyłem plik page-aktualnosci.php i wprowadziłem kod, który powoduje wyświetlanie wpisów z konkretnej kategorii
    2. Kolejną rzeczą którą wykonałem jest dodanie strony poprzez panel administracyjny oraz nadanie odpowiedniego „bezpośredniego odnośnika: http://localhost/test/aktualnosci/&#8221;, aby przeglądarka potrafiła odczytać plik page-aktualnosci.php i wyświetlić zawartość, no i do tego momentu jest ok, po przejściu pod adres http://localhost/test/aktualnosci/ wpisy się pojawiają
    3. Następnie wchodzę w ustawienia motywu i wybieram w sekcji strony tą stronę z aktualnościami, niestety na tym etapie wpisy w utworzonej sekcji nie pojawiają się, natomiast po dokonaniu edycji strony aktualności w panelu administracyjnym i dodaniu jakiejś treści, owa treść wyświetla się w sekcji, problemem jest tylko sztywny kod zamieszczony w utworzonym pliku page-aktualnosci.php, sekcja go pomija.
    Docelowo powinny być dwie takie sekcje Aktualności i Wydarzenia jedna pod drugą 🙂

    Sekcje na głównej nie korzystają z szablonów stron, mają swój dedykowany szablon template-parts/page/content-front-page-panels.php

    Więc jeżeli chcesz tam własny kod wykonać, to albo modyfikujesz ww. szablon, albo działasz np. filtrem the_content ….albo dodajesz w treści w formie shortcode’a ( https://codex.wordpress.org/Shortcode_API )

    Tego mi bło trzeba 🙂 zmodyfikowałem delikatnie content-front-page.php i udało się doprowadzić temat do końca 🙂
    Dziękuję Wam za pomoc i życzę miłego weekendu!

Viewing 9 replies - 1 through 9 (of 9 total)