Cum listam postarile din aceeasi categorie in WordPress

September 24, 2017

Nu e o idee rea să avem o lista cu postări din aceeași categorie la sfârșitul unui articol. În primul rând cresc șansele că cititorul să vadă un alt articol interesant și să mai rămână pe site pentru un alt articol, sau două… Mai mult de atât, atunci când motoarele de căutare vor indexa articolul cu pricina, va indexa și titlurile care apar la sfârșit, ceea ce poate duce la o combinație de cuvinte cheie care să se potrivească unei căutări specifice. De exemplu dacă articolul este despre „Cum să-mi aleg un procesor pentru jocuri?” iar la sfârșitul lui apare lista „Cum să fac overclocking la placa video?”- atunci când cineva va cauta „overlocking procesor” – este posibil să apară în lista de rezultate primul articol sau al doilea, în funcție de care are un rank mai bun.

Există numeroase plugin-uri care fac acest job, dar dacă vom folosi codul de mai jos, putem lista aceste postări unde vrem noi și nu ne vom limita la un simplu widget. Poate vrem sa le postam în bara din dreapta, poate vrem sa le postam la sfârșitul articolului, poate vrem sa le postam la secțiunea comentarii sau la sfârșitul paginii.

Pentru aceasta va trebui să alegem opțiunea „theme editor” și să introducem codul într-unul din fișierele specifice temei. De exemplu, dacă vrem să apără la secțiunea comentarii, edităm comments.php dacă vrem în bara din dreapta, edităm sidebar.php și așa mai departe. Aceste fișiere diferă de la temă la temă, dar WordPress oferă și informații suplimentare cu privire la funcția pe care o îndeplinesc diferite fișiere .php din temă.

Codul de mai jos trebuie să înceapă cu <div> și să încheie cu </div>

<?php $orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
‘tag__in’ => $tag_ids,
‘post__not_in’ => array($post->ID),
‘posts_per_page’=>5, // Numarul de postari care va fi listat
‘ignore_sticky_posts’=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {

echo ‘<div id=”relatedposts”><h3>Postari similare</h3><ul>’;

while( $my_query->have_posts() ) {
$my_query->the_post(); ?>

<li><div class=”relatedthumb”><a href=”<? the_permalink()?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_post_thumbnail(); ?></a></div>
<div class=”relatedcontent”>
<h3><a href=”<? the_permalink()?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a></h3>
<?php the_time(‘M j, Y’) ?> //listeaza si data postarii, putem sterge aceasta linie
</div>
</li>
<? }
echo ‘</ul></div>’;
}
}
$post = $orig_post;
wp_reset_query(); ?>

 

Comentarii

Nelamuriri? Intrebari?

Intreaba sau cauta raspunsul la sectiunea de intrebari si raspunsuri.