autor: Robert
Skoro mamy już listę naszych wpisów to teraz musimy wyświetlić pojedynczy wpis, który z niej wybierzemy. Służy do tego plik single.php.
Standardowo zaczynamy od pobrania sobie naszego pliku header.php za pomocą funkcji <?php get_header(); ?> a następnie, jak to zwykle bywa w przypadku Bootstrapowych stron otwieramy sobie divy z klasami .container oraz .row.
Nasz wpis będzie się mieścił w divie z klasą .col-md-8 a pozostałe 4 kolumny wykorzystamy na wyświetlenie panelu bocznego (sidebara).
Zaczynamy od poznanej we wpisie o wyświetlaniu listy wpisów funkcji „The Loop” czyli <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> która w tym przypadku pobierze nam zawartość wybranego wpisu i wyświetli kod HTML, który wewnątrz niej umieścimy.
<?php the_title(); ?> wyświetli nam tytuł wpisu<?php the_author(); ?> wyświetli nam autora wpisu<?php the_date(); ?> wyświetli nam datę dodania wpisu<?php echo get_the_post_thumbnail( $page->ID, 'large', array( 'class' => 'center-block img-responsive' ) ); ?> wyświetli nam miniaturę wpisu jako duży obrazek<?php the_content(); ?> wyświetli nam treść wpisu<?php comments_template(); ?> wyświetli nam szablon wyglądu komentarzy pobrany z pliku comments.phpTak więc zaczniemy od otwarcia diva z klasą .page-header czyli Bootstrapowy nagłówek. Wewnątrz tego diva w znaczniku H2 umieszczamy funkcję <?php the_title(); ?> a wewnątrz znacznika <small> umiescimy funkcję <?php the_author(); ?>. Dodatkowo w znaczniku H4 umieścimy sobie funkcję <?php the_date(); ?> no i zamykamy diva.
Kolejnym elementem jest wyświetlenie treści wpisu. Zaczynamy od otwarcia diva z klasą .col-md-12 wewnątrz którego najpier wyświetlimy sobie naszą miniaturę wpisu za pomocą kodu <?php echo get_the_post_thumbnail( $page->ID, 'large', array( 'class' => 'center-block img-responsive' ) ); ?> gdzie ‚large’ oznacza wielkość obrazka a wewnątrz tablicy array umieszczamy klasy dla naszego obrazka czyli .center-block .img-responsive
Teraz przychodzi czas na wyświetlenie treści wpisu, tutaj wystarczy użyć funkcji <?php the_content(); ?>, która zrobi to dla nas. Na koniec zamykamy diva
Dobrze jest by nasi czytelnicy mogli skomentować nasz post. Otwieramy zatem diva z klasą .col-md-12 i umieszczamy w nim funkcję <?php comments_template(); ?>, która wczyta nam plik comments.php
Pozostaje zamknąć naszą pętlę oraz instrukcję warunkową za pomocą kodu <?php endwhile; ?>, <?php else: ?> oraz <?php endif; ?> oraz domknąć diva z klasą .col-md-8.
Teraz otwieramy diva z klasą .col-md-4 w którym za pomocą funkcji <?php get_sidebar(); ?> wyświetlimy sobie nasz panel boczny i zamykamy wszystkie otwarte divy.
Ostatnie zadanie to standardowo wyświetlenie naszej stopki czyli użycie <?php get_footer(); ?> i w ten sposób stworzyliśmy szablon służący do wyświetlania postów:)
Hej, jeśli można spytać, to w jaki sposób mogę np: ustawić jakieś konkretne tło dla strony z pojedynczymi wpisami? np: style=”background-color: grey;” którym miejscu można nadać style do strony single, albo do np: custom-page, tak żeby wszędzie był np inny kolor tła?
OdpowiedzWklejam odpowiedź z maila, jakby ktoś w przyszłości szukał odpowiedzi:
„Co do zmiany tła to hest funkcja is_page -> http://codex.wordpress.org/Function_Reference/is_page
Tworzysz sobie diva dla tła i wpisujesz mu w/w funkcję w miejsce klasy. Wtedy jeśli np. wejdziemy na aktualności to funkcja dopisze taką klasę a CSS zmieni jej tło.”
Dziękuję za pomoc Robert.
Odpowiedz