Come mostrare i post correlati per categoria
-
-
possibile duplicato di [Come visualizzarei post correlati della stessa categoria?] (http://wordpress.stackexchange.com/questions/30039/how-to-display-related-posts-from-same-category)possible duplicate of [How to display related posts from same category?](http://wordpress.stackexchange.com/questions/30039/how-to-display-related-posts-from-same-category)
- 0
- 2012-02-05
- kaiser
-
2 risposta
- voti
-
- 2012-02-05
La domanda ègià statapostae anche la risposta è statapubblicata,
Come visualizzarei post correlati della stessa categoria?
Aggiungi questo codice all'interno deltuo single.php dopo un ciclo ovunquetu vogliamostrareilpost correlato,
<?php $related = get_posts( array( 'category__in' => wp_get_post_categories($post->ID), 'numberposts' => 5, 'post__not_in' => array($post->ID) ) ); if( $related ) foreach( $related as $post ) { setup_postdata($post); ?> <ul> <li> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a> <?php the_content('Read the rest of this entry »'); ?> </li> </ul> <?php } wp_reset_postdata(); ?>
Verrà visualizzatoilpost correlato della stessa categoria con l'estratto delposte iltitolo, tuttavia,se si desidera che questo codice visualizzi soloiltitolo delpost correlato,rimuovere questa riga,
<?php the_content('Read the rest of this entry »'); ?>
The question has already been asked and the answer has been posted too,
How to display related posts from same category?
Add this code inside your single.php after a loop wherever you want to show related post,
<?php $related = get_posts( array( 'category__in' => wp_get_post_categories($post->ID), 'numberposts' => 5, 'post__not_in' => array($post->ID) ) ); if( $related ) foreach( $related as $post ) { setup_postdata($post); ?> <ul> <li> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a> <?php the_content('Read the rest of this entry »'); ?> </li> </ul> <?php } wp_reset_postdata(); ?>
It will display related post from the same category with the post excerpt and title , however if want this code to display just the title of related post then remove this line,
<?php the_content('Read the rest of this entry »'); ?>
-
scusa sono unnoobin wordpresse PHP. Senonti dispiace,potresti dirmi comeinserire quel codicenelmio single.php??sorry I am noob in wordpress and PHP.If yu dont mind, could yu tell me how to put that code in my single.php??
- 0
- 2012-02-05
- Felix
-
leggere dinuovo lamia risposta ho aggiunto qualche dettaglioin più (TESTATO)read my answer again i have added few more details (TESTED)
- 1
- 2012-02-05
- Sufiyan Ghori
-
Puoi (forse) chiudereil voto come duplicato?You can (maybe) close vote as dublicate?
- 0
- 2012-02-05
- kaiser
-
@Xufyan quel codicemi mostrail seguenteerrore quando l'ho usato dopoil commento Errorefatale: chiamata allafunzionenon definita odd_title ()@Xufyan that code shows me ethe following error when i used it after the comment Fatal error: Call to undefined function odd_title()
- 0
- 2012-02-05
- Felix
-
scusa,sostituisci "DISPARI" con "il"nel codiceprecedentesorry, replace 'ODD' with 'the' in the above code
- 1
- 2012-02-05
- Sufiyan Ghori
-
@Xufyan Seprendo quell'errorefacendo la riga Php ADDtitle (30);?> Non ricevo alcunpost,ricevo solo cinqueproiettili senzapost otitolo@Xufyan If i yake that error making line I get no post i just get five bullets with no post or title
- 0
- 2012-02-05
- Felix
-
l'errore viene rimosso dal codicee orafunzionaperfettamente (testato),copiail codicemodificato dallamia rispostathe error is removed from the code and now it is working perfectly fine (Tested), copy the modified code from my answer
- 1
- 2012-02-05
- Sufiyan Ghori
-
@Xufyan Ma oramostra soloiltitolo delpost conil linkperma: \ qualche consiglio??@Xufyan But now it shows only the post title with perma link :\ any tips??
- 0
- 2012-02-05
- Felix
-
significa che hai rimosso questa riga di codice,, aggiungilo dinuovo dov'erait means you have removed this line of code, , add it back where it was
- 1
- 2012-02-05
- Sufiyan Ghori
-
@Xufyanno Nontolgo la linea. Riprovato ancorami mostrailtitolo conperma link.@Xufyan no I dint take off the line.Tried again still it shows me the title with perma link.
- 0
- 2012-02-05
- Felix
-
lasciaci [continuare questa discussionein chat] (http://chat.stackexchange.com/rooms/2392/discussion-between-felix-and-xufyan)let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/2392/discussion-between-felix-and-xufyan)
- 0
- 2012-02-05
- Felix
-
Questo èmoltomeglio della risposta a cuiti sei collegatoThis is way better than the answer to which you linked
- 0
- 2014-09-04
- Claudiu Creanga
-
- 2018-07-02
Ecco un'altra opzionepulitae moltoflessibile:
Metti questo codiceneltuofilefunctions.php
function example_cats_related_post() { $post_id = get_the_ID(); $cat_ids = array(); $categories = get_the_category( $post_id ); if(!empty($categories) && is_wp_error($categories)): foreach ($categories as $category): array_push($cat_ids, $category->term_id); endforeach; endif; $current_post_type = get_post_type($post_id); $query_args = array( 'category__in' => $cat_ids, 'post_type' => $current_post_type, 'post_not_in' => array($post_id), 'posts_per_page' => '3' ); $related_cats_post = new WP_Query( $query_args ); if($related_cats_post->have_posts()): while($related_cats_post->have_posts()): $related_cats_post->the_post(); ?> <ul> <li> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> <?php the_content(); ?> </li> </ul> <?php endwhile; // Restore original Post Data wp_reset_postdata(); endif; }
Orapuoi semplicemente chiamare lafunzione ovunqueneltuo sito utilizzando:
<?php example_cats_related_post() ?>
Potresti voler rimuovereglielementi dell'elenco o definirli secondo letuenecessità.
Here another clean and very flexible option:
Put this code in your functions.php file
function example_cats_related_post() { $post_id = get_the_ID(); $cat_ids = array(); $categories = get_the_category( $post_id ); if(!empty($categories) && is_wp_error($categories)): foreach ($categories as $category): array_push($cat_ids, $category->term_id); endforeach; endif; $current_post_type = get_post_type($post_id); $query_args = array( 'category__in' => $cat_ids, 'post_type' => $current_post_type, 'post_not_in' => array($post_id), 'posts_per_page' => '3' ); $related_cats_post = new WP_Query( $query_args ); if($related_cats_post->have_posts()): while($related_cats_post->have_posts()): $related_cats_post->the_post(); ?> <ul> <li> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> <?php the_content(); ?> </li> </ul> <?php endwhile; // Restore original Post Data wp_reset_postdata(); endif; }
Now you can simply call the function anywhere in your site using:
<?php example_cats_related_post() ?>
You may want to remove the list elements or style them as per your need.
Nelmio sito dellagalleria vogliomostrare altreimmagini sotto l'immagine corrente (in un singolopost).Ho vistopiù codicima chiedo di specificare la categoria,manon voglio specificare la categoriamanualmentenel codice Voglio cheil codice stesso ottenga l'ID oilnome della categoria Sarebbemoltopiùfacileperme se ricevopost completiinvece deltitolo delpostin modo dapoterlo visualizzare comenella homepagee nella categoria