Cum afisezi pe blog ultimele articole dintr-o categorie

13
2364
views

Am dat explicaţia asta cred de 2 ori deja în ultimele săptămâni pe forumul de webmasteri, aşa că m-am gândit să postez şi aici explicaţia şi codul în cauză.

La ce ne foloseşte?

Dacă doriţi să afişaţi pe blog (mă gândesc că pe prima pagină) ultimele titluri dintr-o anumită categorie (sau un sumar), va trebui să folosiţi acest “trick”. Un exemplu ar fi pe blogul de pe .com, unde am in josul paginii listate ultimele articole din 4 categorii (forum management, blogging, web development şi web business). În acest caz am dorit doar să listez articolele, se poate pune şi câte un sumar pentru fiecare link, fiecare alege soluţia mai potrivită pentru el.

Ce descărcăm pentru asta?

Din fericire nimic. Ai nevoie de acces pe wp-admin (unde postezi de obicei pe blog) şi cam atât. Dacă tot suntem în sectorul de administrare, intră pe POSTS > CATEGORIES pentru că va trebui să decizi ce categorii doreşti să “prezinţi” în mod special în prima pagină. În lista de categorii apar toate cu numele, dar nu de el este nevoie. Pentru a nu mai deschide alte locaţii, aşează cursorul pe una dintre cele dorite şi citeşte ce scrie pe status bar:

Am “imaginat” situaţia pentru a explica mai bine. Aş dori de pildă să promovez categoria PROMO. Am trecut cu mouse-ul peste ea şi în status bar apare toată poliloghia aia cu http://www.dojoblog.rowp-admin …

Ce mă interesează pe mine, e NUMĂRUL de la final. Acela este ID-ul categoriei respective. Pentru a lista deci articolele din Promo, ţin minte că id-ul este 313 în cazul meu.

Dacă tot am notat informaţiile respective, hai să facem şi lista minunată.

Intră în APPEARANCE > EDITOR, dacă de aici îţi editezi tema. Selectezi MAIN INDEX TEMPLATE (index.php), dacă pe homepage doreşti modificarea.

În locul stabilit pentru a pune lista respectivă, (de preferat după

<?php else : ?>

<h2>Not Found</h2>
<p>Sorry, but you are looking for something that isn’t here.</p>
<?php get_search_form(); ?>

<?php endif; ?>

.. sau pe unde găseşti loc mai bun.

Codul care va “lista” un anumit număr de articole dintr-o anumită categorie este:

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

<?php $recent = new WP_Query(“cat=1&showposts=3“); while($recent->have_posts()) : $recent->the_post();?>

<h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php the_title(); ?></a></h2>

<?php the_excerpt(); ?>

<?php endwhile; ?><?php endif; ?>

Am “spaţiat” puţin liniile să puteţi înţelege mai uşor cine ce face. Pentru a extrage articolele din categoria 1, avem cat=1. Dacă eu aş dori să listez din categoria mea Promo, ar trebui să am cat=313, că acesta era numărul pe care l-am aflat mai sus. În cazul categoriei voastre, există un alt ID pe care îl scrieţi în loc de 1.

Următorul punct important este showposts=3. Asta înseamnă în cazul de faţă să listeze 3 articole. Puteţi schimba numărul cu 5, 7 sau câte articole doriţi să apară.

În caz că vă interesează doar titlurile, renunţaţi la h2 şi la the_exerpt, pentru că veţi lăsa titlu ca simplu link şi sumarul (excerpt) nu vă este necesar.

Se poate deci posta lista şi ca … listă simplă sau ca titlu plus sumarul, fiecare alege ce i se potriveşte mai bine.

Distracţie plăcută 😀

Previous articleCe vrei sa stii despre SUA?
Next articleZumba
dojo
Fost om de radio, transformata in karatista si apoi web designer. Acum bloghez din Marele Mar si-mi cresc mica afacere de Medical SEO. Imi place sa calatoresc si sa stau la taclale cat e ziua de lunga.
SHARE

13 COMMENTS

  1. Cum ai facut ca pe index sa apara la excerpt mi multe caractere?
    sau mi se pare mie ca is mai multe deoarece e fontul mai mare?
    Deoarece la mine pe blog am thumbnailul de 150px de inalt si cu excerpt-ul default nu da bine(prea putine cuvinte).
    Mersi anticipat.

    • functions php.

      Cauta:

      /**
      * Sets the post excerpt length to 40 characters.
      *
      * To override this length in a child theme, remove the filter and add your own
      * function tied to the excerpt_length filter hook.
      *
      * @since Twenty Ten 1.0
      * @return int
      */
      function twentyten_excerpt_length( $length ) {
      return 40;
      }
      add_filter( ‘excerpt_length’, ‘twentyten_excerpt_length’ );

      Asta e setat pe 40 de cuvinte, tu poti seta mai mult sau mai putin.

      • Problema e ca eu folosesc alta tema care nu are asa ceva in functions.php
        am incercat sa adaug codul asta in functions.php de la tema actuala dar mia dat eroare, a trebuit sa iau functions.php din backup si sa il urc iar prin ftp ca sa se rezolve.

    • < ?php the_post_thumbnail(array( 200,200 ), array( 'class' => ‘alignleft’ )); ?>

      poti sa ii dai si alte valori in loc de 200/200. Il bagi dupa
      < ?php the_excerpt(); ?>

  2. nu stiam cum sa face, dar nu mi-a trecut prin ganduri chestia asta… nu prea vad de ce sa pun articole dupa o categorie, adica la un blog personal n-are rost, poate la altele de nisa.

    Chestia cu similar post as vrea s-o aplic, sa pun un widget in footer. Apropo cred ca ti-ar prinde si tie bine sidebar-uri in footer. Ai prea mult in cel din dreapta.

  3. Cum afisezi pe blog ultimele articole dintr-o categorie | Dojo Blog…

    Un tutorial util celor care doresc sa listeze articole dintr-o anumita categorie….

  4. Cum poti prelua o categorie externa?
    Exemplu:

    Am un site blog1.ro, in home vreau sa preau o categorie de la blog2.ro. Cum as putea prelu categoria fara sa folosesc rss?

LEAVE A REPLY

Please enter your comment!
Please enter your name here

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