Miniblog w WordPress

Od kilku dni szukałem, kombinowałem, próbowałem różne pluginy, aby dodać miniblog do swoich stron. Niestety, jakoś nie przypadło mi nic do gustu. Dlatego postanowiłem stworzyć własną wersje, aczkolwiek opartą na założeniach przedstawionych w dokumentacji WP: Adding Asides. A więc do stworzenia Miniblogu wykrozystamy kategorię utworzoną w WP.

Nowa kategoria

Wchodzimy do admina WP, tworzymy nową kategorię, np. o nazwie „Miniblog”. Następnie sprawdzamy i zapamiętujemy jaki ma ID.

Sidebar

Teraz powinniśmy dodać nasz Miniblog gdzieś na stronie, zwykle to jest Sidebar, aczkolwiek ja dodałem na swojej stronie startowej.

Otwieramy wybrany plik i dodajemy w odpowiednim miejscu kod:

<h4>Miniblog</h4>
<ul>
< ?php
// ID zmieniamy na id naszej kategorii z miniblogiem, mozna takze zmienic ilosc wyswietlanych postow
query_posts('cat=ID&showposts=5');
if (have_posts()) : while (have_posts()) : the_post(); ?>
  <li>
  < ?php the_time('j F H:i') ?><br /><strong>< ?php the_title() ?> < ?php comments_popup_link(__('#'), __('#1'), __('#%')); ?></strong>< ?php the_content(' [...]'); ?>
  </li>
  < ?php endwhile; endif; ?>
  // odpowiednio zmieniamy, zwykle /category/miniblog
  <li><a href="<?php echo get_settings('home'); ?>/prefix_kategori/nazwa_kategorii_z_miniblogiem">Archiwum</a></li>
</ul>

Należy jeszcze odpowiednio zformatować style CSS, ale to już Wam zostawiam.

Strona Główna

Na koniec należy jeszcze usunąć wpisy Miniblogu z głównej strony. Otwieramy plik index.php (lub/i home.php) w naszym szablonie i tuż przed:

< ?php if (have_posts()) : ?>

wstawiamy (koniecznie ze zmienną query_string, w której są przekazywane informacje m.in. o kolejnej stronie, którą przeglądamy):

// ID zmieniamy na id naszej kategorii
query_posts($query_string.'&cat=-ID');

Linki do następnego/poprzedniego postu

Aby wykluczyć wyświetlanie w linkach do następnego/poprzedniego postu kategorii z miniblogiem, w pliku single.php naszego szablonu zmieniamy odpowiednio dla linków do poprzednich postów:

// ID zmieniamy na id naszej kategorii
< ?php previous_post_link('&laquo; %link', '%title', false, ID) ?>

oraz następnych:

// ID zmieniamy na id naszej kategorii
< ?php next_post_link('%link &raquo;', '%title', false, ID) ?>

Lista kategorii

Ewentualnie możemy usnąć nasz Miniblog z wyświetlanej listy kategorii:


< ?php 
// ID zmieniamy na id naszej kategorii
wp_list_cats('sort_column=name&hide_empty=1&optioncount=1&exclude=ID');
?>

Wady i TODO

  • Nie wiem czy to traktować jako wadę czy zaletę, ale przedstawiony sposób nie usuwa wpisów z kanałów RSS.

12 Responses to “Miniblog w WordPress”