Crear lista enlaces categoría para post sin usar plugin

  • Autor Autor xxSakuraxx
  • Fecha de inicio Fecha de inicio
xxSakuraxx

xxSakuraxx

Dseda
Verificación en dos pasos activada
Buenas. Me gustaría que me ayudaran. Quiero hacer una lista de enlaces que tengan la misma categoría pero para postear en un post, por ejemplo que al poner una categoría "frutas" me salga

<ul>
<li>Entrada de manzanas</li>
<li>Entrada de peras</li>
<li>Entrada de duraznos</li>
</ul>

Pero que no se haga con un plugin. Intente con los feeds pero no me salió.
 
introduce este codigo en tu archivo fuction.php

PHP:
function lista_de_post_categoria_post_actual($content) {
        if(is_single()) { // con is_single() hacemos que solo me muestren en las entradas.

		global $post;
		$post_actual = $post->ID; // obtenemos el id del post actual
		$categoria = get_the_category(); // obtenemos la categoria actual
		$cat = $categoria[0]->cat_ID; // en caso de tener mas categorias, obtenemos la primera que tenga asignada
		
		
		$args = array( 
						'cat' => $cat,
						'post_status' => 'publish',
						'showposts' => 5, //el numero de post que quermos mostrar
						'orderby' => 'date', //ordenado por fecha, cambiar por rand para que sean aleatorio
						'order' => 'DESC', //orden descendiente
						'post_type' => 'post', 
						'post__not_in' => array( $post_actual ), // le decimos que no muestre el post actual
					);
        // creamos la consulta de los post de la categoria, segun los parametros anteriores.
		$the_query = new WP_Query( $args );
        if ( $the_query->have_posts() ){
				$content.= "<div class='enlaces'>"; // un div donde se introduciran los enlaces
                $content = '<ul>'; // inicio del listado
                while ( $the_query->have_posts() ){
                     $the_query->the_post();
                     $content .= the_title('<li><a href="'.get_permalink().'">', '</a></li>', true); // muestra los enlaces
                }
                $content .= '</ul>'; //cierre del listado
				$content.= "</div>"; // cierre del div
        }
        //Reset query
        wp_reset_query();
		}
        return $content; // devuleve la consulta anterior.
}
add_filter ('the_content', 'lista_de_post_categoria_post_actual');

Este codigo recoge la categoria actual del post, y genera un listado de los ultimos post de esa categoria, excluyendo el post actual, puedes modificar los parametros de $args, por los que quieras, para que los muestre a tus necesidades, en este enlace Class Reference/WP Query « WordPress Codex puedes obtener todos los parametros que puedes utilizar

espero que te funcione
 
Última edición:
Excelente, lo probaré y comento como me ha ido 😉

introduce este codigo en tu archivo fuction.php

PHP:
function lista_de_post_categoria_post_actual($content) {
        if(is_single()) { // con is_single() hacemos que solo me muestren en las entradas.

		global $post;
		$post_actual = $post->ID; // obtenemos el id del post actual
		$categoria = get_the_category(); // obtenemos la categoria actual
		$cat = $categoria[0]->cat_ID; // en caso de tener mas categorias, obtenemos la primera que tenga asignada
		
		
		$args = array( 
						'cat' => $cat,
						'post_status' => 'publish',
						'showposts' => 5, //el numero de post que quermos mostrar
						'orderby' => 'date', //ordenado por fecha, cambiar por rand para que sean aleatorio
						'order' => 'DESC', //orden descendiente
						'post_type' => 'post', 
						'post__not_in' => array( $post_actual ), // le decimos que no muestre el post actual
					);
        // creamos la consulta de los post de la categoria, segun los parametros anteriores.
		$the_query = new WP_Query( $args );
        if ( $the_query->have_posts() ){
				$content.= "<div class='enlaces'>"; // un div donde se introduciran los enlaces
                $content = '<ul>'; // inicio del listado
                while ( $the_query->have_posts() ){
                     $the_query->the_post();
                     $content .= the_title('<li><a href="'.get_permalink().'">', '</a></li>', true); // muestra los enlaces
                }
                $content .= '</ul>'; //cierre del listado
				$content.= "</div>"; // cierre del div
        }
        //Reset query
        wp_reset_query();
		}
        return $content; // devuleve la consulta anterior.
}
add_filter ('the_content', 'lista_de_post_categoria_post_actual');

Este codigo recoge la categoria actual del post, y genera un listado de los ultimos post de esa categoria, excluyendo el post actual, puedes modificar los parametros de $args, por los que quieras, para que los muestre a tus necesidades, en este enlace Class Reference/WP Query « WordPress Codex puedes obtener todos los parametros que puedes utilizar

espero que te funcione
 

Temas similares

R
Respuestas
11
Visitas
711
Red Todo Online
R
Atrás
Arriba