kurs z WordPress dla początkujących

Wyświetlanie wpisów na statycznej stronie bez wtyczki – WordPress

Czasami zdarza się, że chcemy w WordPress pod treścią strony wyświetlić wpisy z wpis (post, posty) z określonej kategorii. W większości wypadków i najszybszym sposobem do uzyskania tego efektu jest użycie wtyczki.

Jednak nie jest to jedyne rozwiązanie kiedy bowiem np. budujemy własny szablon lub użycie wtyczki wydaje nam się zbyt kłopotliwe możemy samodzielnie dopisać taką opcję.

Jeśli jednak wolicie skorzystać z wtyczki polecam wtyczki post in page.

Co trzeba wiedzieć na początek!

Gdzie jest w tym o czym piszę haczyk? O tuż po aktualizacji pobranej z Internetu skórki nasza zmiana może zostać nadpisana. Jednak jeśli stworzymy dodatkowy wygląd (inny szablon strony) w motywie i w nim umieści się spersonalizowany kod to dodatkowa funkcjonalność powinna pozostać nie tknięta. Na wszelki wypadek warto jednak zachować kopię zapasową w tedy po aktualizacji w razie potrzeby wystarczy dodać ponownie przez FTP nasz plik. Inny typ szablonu strony oczywiście wybieramy podczas edycji artykułu w prawym panelu bocznym.

Dość istotne jeśli nie masz doświadczenia w tego typu modyfikacjach by przed przystąpieniem do pracy zapoznać się z kilkoma innymi moimi wpisami.

Wypisywanie wpisów z kategorii o nazwie takiej jak strona

W celu wypisania postów z danej kategorii trzeba w pliku wykołysać poniższy kod. Kod najlepiej umieścić pod wypisaniem treści artykułu – w ten sposób będziemy mieć pewność iż pobierze poprawnie nazwę kategorii.

<?php
  $nameofkat = $post->post_name;
    query_posts('category_name='.get_permalink().'&post_status=publish,future');
    while (have_posts()) : the_post();
      echo "<div class=''>";
       the_post_thumbnail();
      echo "<h3 class='entry-title'>";
      echo "<a href='".get_permalink()."'>";
            the_title();
      echo "</a>";
      echo "</h3>";
        the_content();
      echo "</div>";
   endwhile;
?>

By lepiej można go było zrozumieć przedstawię teraz co robią poszczególne elementy specyficzne dla WordPress, czyli daruję opis pobocznych elementów HTML, PHP i odwołania do CSS.

$nameofkat = $post->post_name;
query_posts('category_name='.get_permalink().'&post_status=publish,future'); // bież pod uwagę posty znajdujące w kategorii nazywającej się tak samo jak nazwa strony 

query_posts('cat=6'); // weź pod uwagę posty z kategorii o id=6

W tym przypadku pod treścią artykułu pokażą się wpisy (posty) należące do kategorii o takiej samej nazwie jak strona.

Podobny efekt można uzyskać – Zmiana adresów stałych.

Wypisywanie wpisów z kategorii innej niż nazwa strony

W drugim przypadku kod będzie wyglądał tak:

<?php
 query_posts('cat=7');
 while (have_posts()) : the_post();
 echo "<div class=''>";
 the_post_thumbnail();
 echo "<h3 class='entry-title'>";
 echo "<a href='".get_permalink()."'>";
 the_title();
 echo "</a>";
 echo "</h3>";
 the_content()
 echo "</div>";
 endwhile;;
?>

Teraz id kategorii ustawione jest na sztywno. W efekcie wszystkie strony korzystające z pliku z tym kodem będą wyświetlać te same wpisy.


Powyżej wypisałam 2 różne sposoby uzyskania listy postów z kategorii. W pierwszym przypadku w zależności od strony zostanie wzięta pod uwagę inna grupa wpisów. Spełniać ona musi jednak warunek posiadania takiej samej nazwy jak strona np. na stronie Oferta wyświetlą się wpisy z kategorii Oferta o ile taka istnieje.

W drugim przypadku na każdej stronie z tym szablonem wypisujemy posty z kategorii posiadającej id=7.

the_title(); // wypisanie tytułu postu
get_permalink() // adres postu, jego lokalizacja np. http://www.aurainweb.pl/przykladowy-post
the_content(); // wypisuje urywek tekstu, aż do "read more"

Czasami może przydać się również kod:

get_the_date; // data utworzenia postu

W powyższym kodzie ominęłam składnię CSS ze względu na zróżnicowaną budowę dostępnych szablonów.

Jeżeli mapie jakieś pytania lub sugestie możecie zostawić je w formie komentarza.

Dodatkowe tagi

  • Jak dodać wpis do wybranej przeze mnie strony na wp?
  • Umieszczenie wpisu na innej stronie
  • Wypisywanie postów z szablonu
  • modyfikacja szablonu, bez wtyczki