Losowy post w WordPress

utworzone przez | Paź 9, 2010 | Blog, Branżowe, WordPress | 0 komentarzy

W przypływie natchnienia postanowiłem zrobić sobie portal motoryzacyjny. Bardzo zainspirował mnie portal aktywni.pl dlatego koniecznie chciałem/musiałem mieć sekcję „Czy wiesz, że…” Ponieważ stronę/portal stawiałem na moim ukochanym WordPressie musiałem sobie takie rozwiązanie wymyślić. Znając życie nie jest to jedyne rozwiązanie tego problemu, pewnie są do tego specjalne wtyczki, lecz jak mawiał mój profesor od geometrii wykreślnej „inżynier (przyszły) jest z natury leniwy” dlatego ja za bardzo nie szukałem i problem rozwiązałem sam.

Opis problemu:

Za pomocą funkcji wyświetlić losowy post lub jego fragment

Rozwiązanie:

Aby rozwiązać ten problem jest potrzebna znajomość funkcji query_post, bo moje rozwiązanie to nic innego jak odpowiednio zmodyfikowana ta właśnie funkcja. Dodatkowo zażyczyłem sobie by moja złota myśl była wyświetlana w formie wypisu.

Przystępujemy do modyfikacji:

W naszym WordPressie znajdujemy pętlę, która odpowiada za wyświetlani wpisów. Powinniśmy znaleźć takie coś:

[php]<?php if (have_posts()) : ?>
<php while (have_posts()) : the_post(); ?>
<div> Tutaj treść posta </div> <?php endwhile; ?> <?php endif; ?>
[/php]

Następnie dokładnie przed nią doklejamy funkcję query_post. Efekt powinien być następujący:

<? $posts = query_posts('wartości funkcji'); ?>
<?php  if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<div >
Treść posta
</div>

Teraz czas na dostosowanie funkcji query_post do naszych oczekiwań. Za pomocą parametru category_name definiujemy kategorię, za pomocą showpost ilość wyświetlonych wpisów, a parametr orderby ustawiamy na rand, zagwarantuje to nam wyświetlenie losowego wpisu. Po tych ustawieniach nasza funkcja z pętlą będą wyglądać następująco:

[php]<? $posts = query_posts(‚category_name=kategoria&showposts=1&orderby=rand’); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<div>
Treść posta
</div>

<?php endwhile; ?>
<?php endif; ?>[/php]

Gotowiec:

Poniższa funkcja wyświetli nam jeden losowy post z kategorii „wiesz”. Aby poniższy kod zadziałał post musi mieć uzupełniony wypis, a kod wklejamy (za pomocą edytora w sekcji wygląd) w miejscu gdzie chcemy wyświetlić losową myśl.

[php]&lt;? $posts = query_posts(‚category_name=wiesz&amp;showposts=1&amp;orderby=rand’); ?&gt;
&lt;?php if (have_posts()) : ?&gt;
&lt;?php while (have_posts()) : the_post(); ?&gt;

&lt;div style=&quot;color:#575757; margin-left:10px; margin-right:5px;&quot;&gt;
&lt;?php the_excerpt();?&gt;
&lt;/div&gt;

&lt;?php endwhile; ?&gt;
&lt;?php endif; ?&gt;[/php]

0 komentarzy

Wyślij komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.