PHP: Entradas recientes con imagen destacada en WordPress via Shortcode

Detalles del tutorial

  • Tecnología: PHP
  • Dificultad: Nivel básico
  • Tiempo de realización: 15 minutos

Siguiendo con el anterior tutorial en el que creábamos un shortcode personalizado para wordpress, vamos con este pequeño script para crear un shortcode que muestre las entradas recientes de tu blog con sus correspondientes imágenes destacadas. Vamos a poder configurar además algunos parámetros desde el propio shortcode.

Código php en tu template de wordpress

Abre la carpeta de tu template, localiza el archivo functions.php y ábrelo con tu editor; éste archivo está presente en la mayoría de las plantillas de wordpress.
A continuación dejo el código y posteriormente comento algunas cosas importantes:


function shortcode_recientes($atts, $content = null, $code) {

//Uso: [recientes  limite="3" longitud_titulo="50" longitud_desc="50" thumbnail="1" tamano="50"]
//thumbnail="1" muestra imagen destacada. thumbnail="0" no muestra la imagen
	extract(shortcode_atts(array(
		'limite' => 5,
		'longitud_titulo' => 50,
		'longitud_desc' => 80,
		'thumbnail' => false,
		'tamano' => 65

	), $atts));

   	$query = array('showposts' => $limite,  'orderby'=> 'date', 'order'=>'DESC', 'post_status' => 'publish', 'ignore_sticky_posts' => 1);

	$q = new WP_Query($query);
	if ($q->have_posts()) :
	$salida  = '';
	$salida .= '<ul class="listado-recientes">';

	/* comienzo while */
	while ($q->have_posts()) : $q->the_post();
	$salida .= '<li>';
	if ( has_post_thumbnail() && $thumbnail == true):
	$salida	.= '<a href="'.get_permalink().'" title="'.sprintf( "Enlace permanente a %s", get_the_title() ).'">';
	$salida	.= get_the_post_thumbnail(get_the_id(),array($tamano,$tamano),array('title'=>get_the_title(),'alt'=>get_the_title(),'class'=>'imageborder alignleft'));
	$salida	.= '</a>';
	endif;

	$salida	.= '<div class="posts_content">';
	$salida	.= '<a href="'.get_permalink().'" title="'.sprintf( "Enlace permanente a %s", get_the_title() ).'">';
	$salida	.= wp_html_excerpt (get_the_title(), $longitud_titulo );
	$salida	.= '</a>';
	$salida	.= '<p>';

        /* Calculo las categorías  */

        $categories = get_the_category();
        $separator = ' ';
        $output = '';
        if($categories){
                foreach($categories as $category) {
                        $output .= $category->cat_name.''.$separator;
                }
                $salida	.= trim($output, $separator);
        }
	$salida	.= '</p>';
        /* Escribo fecha  */
	$salida	.= '<p>'.get_the_time().'</p>';

        /* Escribo extracto  */	

	$excerpt = get_the_excerpt();
	$salida	.= ($excerpt)?'<p>'.wp_html_excerpt($excerpt,$longitud_desc).'...</p>':'';

	$salida	.= '</div>';
	$salida .= '</li>';
	endwhile;
	wp_reset_query();
	/* fin while */

	$salida .= '</ul>';
	endif;

	return $salida;

}
add_shortcode('recientes',    'shortcode_recientes');

Podemos configurar los siguientes valores:

  • limite – número máximo de entradas a mostrar
  • longitud_titulo – Longitud máxima de caracteres del título
  • longitud_desc – Longitud máxima de caracteres de la descripción
  • thumbnail – Mostrar thumbnail: valores 1 o 0 (mostrar o no mostrar)
  • tamano – Tamaño de la miniatura en píxeles (será cuadrada)

Si además queremos meter el shortcode en un widget lo tenemos muy fácil, añadimos esta línea al final del código anterior:

//para insertarlo en un widget del sidebar
add_filter('widget_text', 'do_shortcode');

imagen de insertar entradas relacionadas en widget de wordpress

Con esto vamos a poder incluir shortcodes en el widget de Texto o HTML arbitrario que viene por defecto en wordpress.

Insertar el shortcode

Podemos utilizar el shortcode en entradas, páginas o en el widget de texto como comentábamos antes. Un ejemplo de uso puede ser:

[recientes  limite="3" longitud_titulo="50" longitud_desc="50" thumbnail="1" tamano="50"]

Conclusión

Éste código puede ser ámpliamente mejorado y es fácil aumentar sus posibilidades, como por ejemplo con:

  • Dar la posibilidad de mostrar entradas recientes o relacionadas
  • Mostrar solamente las entradas de unas determinadas categorías
  • Mostrar fecha, autor, etc…

…Estamos abiertos a vuestras aportaciones.

Valora esta entrada:

11 votos. Promedio: 4,45 de 5
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas

Entrada archivada en:

Categorías: PHP

Etiquetas:

★ Por Raúl Flores (11 entradas) el

Entradas relacionadas

65 comentarios

  • 15 agosto, 2012 // Responder

    Hola, esta muy bueno el post pero no me aparece la imagen de la nota, y quisiera agregarle la fecha de la noticia, como puedo hacer eso. gracias

    • 16 agosto, 2012 // Responder

      Hola Mauricio, para agregar la fecha puedes usar muchas opciones. Lo más sencillo es usar la función get_the_date() dentro del bucle while.
      Simplemente agrega esta línea de código donde tu veas, por ejemplo en la línea 37 al final del extracto del contenido del post:
      $salida.= get_the_date();
      Respecto a que no te aparece la imagen de la nota no se a que te refieres…

  • 16 septiembre, 2012 // Responder

    hola amigos soy nuevo en internet y estoy intentando de montarme una pagina quisiera saber como puedo hacer para que se vea una lista de las entradas de una categoria en la pagina que yo desee. o como ustedes deciis Mostrar solamente las entradas de unas determinadas categorías

    • 17 septiembre, 2012 // Responder

      Hola Ángel, no sé como de nuevo eres en internet y si la página que estás montando es en wordpress y qué experiencia tienes en programación.
      Si no tienes experiencia lo mejor es que instales un plugin como este:
      list-category-posts
      Saludos

  • 13 diciembre, 2012 // Responder

    Hola, muy bueno tu post explicado y con detalles, pero me salta una duda espero me puedas ayudar, ya tengo las entradas en el Home pero necesito que tenga un texto con Ver más y me lleve al Post y el otro que en cada publicación tenga un boton de shared para compartir el post, en verdad espero me puedas ayudar, bonito día.

  • 13 diciembre, 2012 // Responder

    Para meter un texto Ver más y te lleve al post solamente tienes que copiar las líneas 31,32 y 33 y pegarlas en la 37.
    En las nuevas líneas creadas cambia:
    $salida .= wp_html_excerpt (get_the_title(), $longitud_titulo );
    por
    $salida .=’Ver más’;
    y ya lo tienes.
    Para compartir con redes sociales etc hay muchos plugins como ShareThis que lo hacen.

  • 13 diciembre, 2012 // Responder

    Hola en verdad muchas gracias por contestar pronto, perdona que te moleste, este es el codigo que pose pero al guardar el archivo y refrescar la WEB se queda en blanco :( no se si estoy poniendo algo mal, anexo el codigo que estoy poniendo, gracias buen día.

    $salida .= ‘‘;
    $salida .=’Ver más’;
    $salida .= ‘
    ‘;

  • 13 diciembre, 2012 // Responder

    Muchas gracias :) bonito día.

  • 14 diciembre, 2012 // Responder

    Hola yo de nuevo perdona de verdad, y para elegir el tipo de entradas de unas determinadas categorías, gracias saludos

  • 17 diciembre, 2012 // Responder

    Hola perdona que te moleste pero no encuentro como poner que salgan las entradas de una determinada categoría, espero me puedas ayudar saludos

  • 18 diciembre, 2012 // Responder

    Para hacer esto habría que añadir un parámetro más al shortcode, vamos a llamarle gategorias.
    En la linea 4, la función extract quedaría así:
    extract(shortcode_atts(array(
    ‘limite’ => 5,
    ‘longitud_titulo’ => 50,
    ‘longitud_desc’ => 80,
    ‘thumbnail’ => false,
    ‘tamano’ => 65,
    ‘categorias’=>1
    ), $atts));

    Luego en la línea 14 :
    $query = array(‘cat’=>$categorias, ‘showposts’ => $limite, ‘orderby’=> ‘date’, ‘order’=>’DESC’, ‘post_status’ => ‘publish’, ‘ignore_sticky_posts’ => 1);

    Finalmente para llamar al shortcode e indicar las categorias solamente tienes que hacer, por ejemplo:

    [recientes limite="3" longitud_titulo="50" longitud_desc="50" thumbnail="1" tamano="50" categorias="1,2,3"]

    Donde pone categorias=”1,2,3″, son los ids de la categoria/s que quieras mostrar. Esto es fácil de averiguar en el panel de administración de WP le das a categorías y una vez dentro pones el puntero encima de editar cualquiera de las categorias y podrás ver en el link a que apunta en tu navegador, el id de tu categoría en el valor de tag_ID que se muestra.

  • 21 diciembre, 2012 // Responder

    Muchas gracias por tu apoyo en verdad me sirvió todo muchísimo, pero te prometo que es la ultima ves que te molesto :) , lo que quiero es que cuando tengo todos los post juntos de todas las categorías, tengan una clase, ejemplo:

    Categoría Sala de prensa
    Categoría Facebook

    Tengo estas 2 categorías y quiero darle un estilo con CSS a cada categoría, pero solo tengo ul li y tengo la misma clase para las dos categorías, quiero que cada categoría tenga una clase para darle estilos diferentes.

    Sin más por el momento muchas gracias por tu apoyo.

  • 7 enero, 2013 // Responder

    Hola, antes que nada Feliz Año.

    Perdona la insistencia de mi parte pero si alguien me puede ayudar ya que estoy muy desesperado, espero me puedan ayudar con mi comentario de arriba.

    Gracia, buen día.

  • 10 enero, 2013 // Responder

    Hola Alfredo, déjanos tu código aquí y te echamos una mano. con un simple condicicional dependiendo la categoría, aplicarás un estilo css u otro.

  • 10 enero, 2013 // Responder

    Muchísimas gracias por esta ayuda tan valiosa que acabas de proporcionar.
    Me gustaría saber si además es posible que al clickar en uno de los enlaces, éste se abriese en una ventana nueva.

    Un saludo.

  • 11 enero, 2013 // Responder

    Si que se puede, incluye target=”_blank” dentro de la etiqueta a del enlace que prefieras. El php lo admite sin problemas

  • 11 enero, 2013 // Responder

    No quiero parecer pesado, pero ¿en qué línea del código php que has puesto lo puedo poner?

    Otra cosa. No sé si es problema del tema que utilizo o de que no sé manejar bien todo esto, pero cuando le pongo un thumbnail (mediante la opción de imagen destacada) me los muestra todos correctamente, pero en vez de situármelos en vertical y espaciar correctamente cada entrada en función de la imagen (50 píxeles), los sitúa como si fuesen tabulados una, dos, tres.. y asi sucesivamente según la cantidad de entradas recientes que muestre.
    Me explico mejor: el primero lo sitúa bien, el segundo parece que lleva una tabulación, el tercero parece que lleva dos tabulaciones, y así sucesivamente.

    ¿Qué puedo estar haciendo mal? Gracias por vuestra paciencia.

    • 14 enero, 2013 // Responder

      en las líneas 25 y 31 sustituye href por target=”_blank” href y ya lo tienes.
      El problema que me cuentas a continuación debe de ser un problema de maquetación css muy concreto en el seno de tu página y nos vamos de la cuestión planteada en este post. Te recomiendo estudiar un poco el funcionamiento de las css. En google hay miles de tutoriales de este tema. Espero haberte ayudado.

  • 17 enero, 2013 // Responder

    Saludos,

    Me ha venido muy bien tu código, gracias! Me gustaría ampliarlo un poco y no se si sería posible añadirle enlaces de paginación en función del máximo número de posts.

    Gracias otra vez,

    • 21 enero, 2013 // Responder

      Si que se podría hacer, pero prefiero hacer un post específico para esto que me dices. Es mejor para todos así. En cuanto tenga un poco de tiempo lo hago de verdad, no es muy complicado, pero estoy ahora mismo desbordado de trabajo. Un saludo!

      • 26 enero, 2013 // Responder

        Saludos y gracias por el interés.

        Simplemente comentarte que encontré la manera de paginarlo, usando la función paginate_links() y añadiendo la variable $paged en tu query original. cogiendo valor mediante get_query_var(‘paged’). Te permite crear una paginación mediante números.

        Si te resulta útil te paso la manera en como lo he hecho (puede que se me haya escapado algo…); yo mientras sigo peleandome para poder poner esta paginación en el blog “por defecto” que incorpora WP…No hay manera!

        Gracias otra vez y hasta pronto.

  • 28 enero, 2013 // Responder

    Pues por lo que me cuentas, si has conseguido hacer la paginación para esto, no creo que sea muy distinto para la página de entrada del blog. Ahí la paginación viene implementada por defecto. ¿Qué te ocurre? ¿No se te muestra la paginación?

  • 5 junio, 2013 // Responder

    buenas tardes amigos, tengo un incoveniente resulta que estoy trabajando con el template RikosMagazine free y resulta que no he podido dar con el chiste de la imagen del slider, si pueden echarme una ayuda con ello se los agradeceria, muchas gracias.

    • 6 junio, 2013 // Responder

      Hola Fabián. He mirado por encima el theme que me dices y tiene toda la pinta de que las imágenes del slider las asigna de la imagen destacada que le asignes en el post o página en cuestión que estes poniendo. Tienes la opción en la misma entrada en el panel derecho.

      • 7 junio, 2013 // Responder

        hola amigo buen dia, me sale una opcion de campos personalizados (Custom fields) para poder agregar la imagen, pero esa opcion no se como se maneja, hay que modificar elgo en funciont.php para poder activar los custom fields, y asi mismo agregar la imagen como destacada.

  • 27 agosto, 2013 // Responder

    Hola! Perdon por la pregunta pero recien estoy empezando. ¿Como puedo hacer para en vez de utilizar el shortcode utilizar php para llamar a la funcion en un archivo? Gracias

  • 27 agosto, 2013 // Responder

    Hola! Aca estoy nuevamente, use para llamar a la funcion en el archivo featured.php y me aparece el siguiente error:

    Warning: Missing argument 1 for shortcode_recientes(), called in D:\xampp\htdocs\4d\wp-content\themes\kwo\featured.php on line 81 and defined in D:\xampp\htdocs\4d\wp-content\themes\kwo\functions\theme\functions.php on line 204

    Donde line 204 en function.php es: function shortcode_recientes($atts, $content = null, $code) {

    Warning: Missing argument 3 for shortcode_recientes(), called in D:\xampp\htdocs\4d\wp-content\themes\kwo\featured.php on line 81 and defined in D:\xampp\htdocs\4d\wp-content\themes\kwo\functions\theme\functions.php on line 204

    Gracias

  • 29 abril, 2014 // Responder

    Mil gracias!!! Me funcionó de maravilla haciéndolo en la forma de widget de texto. Excelente Post!!!

  • 14 julio, 2014 // Responder

    ¿¿Y como se puede hacer para que sean las ultimas paginas publicadas; y no las ultimas entradas??

  • 14 julio, 2014 // Responder

    Ah, por cierto, increíble tu informacion, y muy util….

  • 2 agosto, 2014 // Responder

    Hola Nacho, esto es realmente sencillo. Tan solo tienes que añadir en la query del loop el argumento que te expongo, que es el condicional para expresar que sean páginas:
    ‘post_type’ => ‘page’

    Esto lo deberías incluir en el array de argumentos que pasas en la query… En cristiano es que la línea 14 de código quedaría así:
    $query = array(‘showposts’ => $limite, ‘orderby’=> ‘date’, ‘order’=>’DESC’, ‘post_status’ => ‘publish’, ‘ignore_sticky_posts’ => 1, ‘post_type’ => ‘page’);

    Tan solo he añadido al final el argumento que te decía. Espero te valga, un saludo!

  • 13 septiembre, 2014 // Responder

    Muy buen post! me sirvio para mostrar una lista de entradas, sin embargo, me surgió otra necesidad y es la de paginar todas estas entradas… Leí en un comentario anterior que subirias como hacer esto más o menos, quiero saber si lo subiste o lo subirás o si no tienes tiempo me ayudes con algo acerca de esto, gracias por todo

    • 15 septiembre, 2014 // Responder

      Muchas gracias Juan Pablo, hacer una paginación es un proceso de nivel medio, yo hice algunas en php a pelo antes que existiera wordpress y tenía un código o snippet que calcab amás o menos en los trabajos que acometía, pero en wordpress la cosa cambia. Ahora mismo estoy inmerso en varios proyectos simultaneos y no tengo tiempo para hacer ese post que como dices comentaba hace tiempo.
      Un saludo!

  • 5 noviembre, 2014 // Responder

    excelente post muy bien explicado gracias

  • 5 noviembre, 2014 // Responder

    Genial post, una consulta como pondria un condicional dentro del function si es que no existe el thumbnaill para que redireccione a una imagen preestablecida??

    • 5 noviembre, 2014 // Responder

      Muchas gracias a todos!! ;-)
      En el código ya se incluye un condicional previo para evitar fallos en la línea 24.
      if ( has_post_thumbnail() && $thumbnail == true):
      y que termina en la 28. Bien pues justo antes del endif; en la línea 28,puedes insertar un
      else: $salida .= 'tu codigo html'
      para simplemente llamar a tu imagen en html con la etiqueta img o mostrar el html que quieras.
      Espero esto te ayude.
      Un saludo!

  • 8 febrero, 2015 // Responder

    Hola!, muy buen post me sirvió muchísimo, sin embargo me surgió una duda. Lo que pasa es que tengo una sección de campos personalizados donde subo las capacitaciones o cursos que ofrece mi empresa y me gustaría instalar un sidebar con las ultimas capacitaciones que van surgiendo. ¿Como lo hago para que tome en vez de los post, los post de este campo personalizado?.
    Agradezco mucho tu ayuda

    • 12 febrero, 2015 // Responder

      Hola Ana, encantado te sirviera. Lo que tú me propones se sale completamente del propósito de este post.
      Te puedo invitar a utilizar e investigar la función get_post_meta() de wordpress. Úsala dentro del loop. Después le haría un condicional preguntando por el dato del post personalizado que extraes de usar la función que te comentaba. En caso afirmativo lo muestras y así durante el número de veces que desees…
      Espero haberte al menos guiado, un saludo!

  • 14 febrero, 2015 // Responder

    Raul, finalmente lo pude resolver solo le agregue al array ‘post_type’ => ‘nombre de mi custom post type’ y problema solucionado. Saludos!!

    • 14 febrero, 2015 // Responder

      Pues claro!! Yo me enrevesé… Gracias por tu solución.
      Un saludo!!

  • 18 marzo, 2015 // Responder

    Primero déjame darte las gracias por tremendo trabajo y paciencia al explicar punto por punto.

    Cómo puedo hacer para que en los post que muestro aparezca la fecha y hora en que se publicó el post y también que muestre la categoría a la que pertenece dicho post.

    Título
    fecha hora – categoría (esto es lo que me falta agregar)
    Imagen
    Texto
    ver más…

    Espero su ayuda y nuevamente gracias.

    • 19 marzo, 2015 // Responder

      Para obtener todas las categorías que pertenece el Post:

      < ?php
      $categories = get_the_category();
      $separator = ' ';
      $output = '';
      if($categories){
      foreach($categories as $category) {
      $output .= $category->cat_name.''.$separator;
      }
      echo trim($output, $separator);
      }
      ?>

      Y para la fecha:
      < ?php echo get_the_time(); ?>

      …Espero te valga, un saludo!!

  • 26 marzo, 2015 // Responder

    Disculpa que nuevamente pregunte y es que no soy muy conocedor de estos temas, dónde inserto esas lineas de código que me diste ? o quizá no me dejé entender, pasa que en la página estática que quiero poner en lugar del home, quiero mostrar varios post los cuales cómo si fuera un home normal debería de mostrar la fecha en que se posteó y a que categoría/as pertenece dicho post.

    Ya tengo personalizada una página y ya logré mostrar los post en 3 columnas, con sus respectivas imágenes y debajo de ellos el famoso Ver mas… ahora me falta lograr poner debajo del título de cada resumen de post la fecha en que se posteó esa nota, la categoría en que se encuentra dicho post. (http://i61.tinypic.com/2vxiqzk.jpg *img de referencia)

    Gracias.

    • 27 marzo, 2015 // Responder

      Esas lineas de código las metes justo donde quieras que aparezcan las categorías y la fecha. Sin ver tu código no lo sé… Esto era un shortcode que no sé si estas usando o haces el código a mano de la home

  • 1 abril, 2015 // Responder

    1| El código que das lineas arriba lo inserté en la hoja functions.php
    2| Tengo instalado un pluggin que me permite personalizar una página estática que será el home (Page Builder by SiteOrigin)
    3| En esa página estática llamo a la función así
    [recientes limite="5" longitud_titulo="150" longitud_desc="160" thumbnail="1" tamano="474" cate="54"]
    4| esto me da cómo resultado una lista de post cada uno con su respectivo titulo, imagen, un resumen y al final un ver más. a esto quiero que debajo del título aparezca la categoría en que stá el psot y la fecha en que fue publicado dicho post :(

    Gracias por tanta paciencia.

    allí puedes ver la configuración que te menciono (http://www.noticiasencusco.com/)

    • 4 abril, 2015 // Responder

      Ok he modificado el código del post y ahora te mostrará las categorías a que pertenece y la fecha.
      Un saludo!

  • 26 enero, 2016 // Responder

    Como seria poner un tañamo especifico 200 x 300 al thumbnail ?

    asi como esta mientras modifiques el valor mantiene la relacion de aspecto

    • 28 enero, 2016 // Responder

      Hola valzago, eso es fácil, ve la la línea 26 y donde pone $tamano,$tamano lo sustituyes por 200,300
      Un saludo!

      • 2 marzo, 2016 // Responder

        Gracias!
        Disculpa la Tardanza

  • 26 mayo, 2016 // Responder

    hola amigos, creo que es algo tan sencillo pero no especifica si este código se tiene que agregar a todo el código de function.php o hay que substituir todo el código de function.php

    o en que linea o que sector del código debo insertarlo. gracias por sus respuestas.

    • 27 mayo, 2016 // Responder

      Hola Manuel, tal y como digo localiza el archivo functions.php y ábrelo con tu editor; éste archivo está presente en la mayoría de las plantillas de wordpress. Una vez abierto este archivo, pega este código al final del mismo. Hay que añadirlo ok?
      Salu2!

  • 28 mayo, 2016 // Responder

    Hola que tal, muy bueno tu código sobre todo para tomarlo como base para luego personalizarlo a mi gusto.

    Por otro lado, podrías ayudarme con la paginacion por favor.

    Muchas gracias.

  • 25 octubre, 2016 // Responder

    Excelente truco!
    ¿Como podria mostrar solo los post de una o dos categorias concretas?

    • 27 octubre, 2016 // Responder

      Hola Berni, busca entre los comentarios que eso ya se lo he resuelto aquí a otro lector.
      Un saludo!

  • 1 noviembre, 2016 // Responder

    Buenas tardes,
    El aporte de este tutorial ha sido fantástico y me resultó de mucha ayuda, pero no consigo paginar con los botones y número de páginas en el pie de página, he probado diferentes opciones modificando un poco el código para visualizar el número de página y seguir adelante o atras, pero no tengo los resultados esperados.
    Agradecería si alguien tiene la solución, gracias de antemano.
    Un saludo!

    • 7 noviembre, 2016 // Responder

      Hola Luis, la paginación se sale del propósito de este tutorial, te recomiendo ver algún otro para usar la función de wordpress de paginación: paginate_links
      Este enlace tiene buena pinta:
      https://ayudawp.com/paginacion-en-wordpress-sin-plugin/
      Deberías poder incluirlo dentro del loop de mi tutorial sin repetir la query, usando la mia.
      Si logras unir los 2 códigos de ambos tutoriales lo lograrás, estoy seguro.
      Un saludo

      • 12 noviembre, 2016 // Responder

        Gracias Raúl
        Seguiré tus recomendaciones a ver si consigo como tú dices unir los dos codigos, y felicidades por tutoriales como este, que nos permiten mejorar nuestros trabajos.
        Un saludo

      • 12 noviembre, 2016 // Responder

        Hola de nuevo Raúl,
        Tengo añadido un código al tuyo y me hace correctamente la paginación, eso sí, para indicar el número de entradas tengo que hacerlo desde Ajustes/Lectura/número máximo de entradas a mostrar en el sitio/… porque estas lineas de código, dejan sin efecto la orden que le das desde limite=”", las lineas que he modificado son las 16/17 de tu código por estas:
        $current_page = get_query_var( ‘paged’ ) ? get_query_var( ‘paged’ ): 1;
        $query = array(‘posts_per_page’ => get_option(‘posts_per_page’), ‘paged’=> $current_page);
        $q = new WP_Query( $query );
        echo paginate_links( array(‘total’=> $q->max_num_pages) );
        if ($q->have_posts()) :

        Hasta aquí todo perfecto, lo que ocurre que el “shortcode” lo tengo en una página y los enlaces de la paginación « Anterior 1 2 3.. Siguiente » los muestra en la parte superior, justo encima de la primera entrada reciente…. posiblemente sea una tontería, pero como puedo visualizar los enlaces en la parte baja de la página, al final de la última entrada?, no encuentro la forma de hacerlo :( :(
        Gracias de antemano.
        Un saludo.

      • 13 noviembre, 2016 // Responder

        Buenas tardes,
        Investigando un poquito, ya encontré la forma de poner el link de paginación en el lugar deseado.
        Un saludo

  • 14 diciembre, 2016 // Responder

    Hola, me gustaría listar las entradas recientes de una determinada categoría. Me ha servido mucho tu código pero me gustaría que me sacara los 300 primeros caracteres de cada post y me gustaría que se clasificaran por categorías. He leido como le explicabas a otro visitante lo de mirar las categorías pero no me sale el id de cada categoría mia.

    Por favor, ayudame.
    Muchas gracias.

  • 18 mayo, 2017 // Responder

    Hola Raúl… Espero puedas aclararme algunas dudas.

    Si ya tengo esas líneas en functions.php, luego cómo las llamo y de dónde las llamo.
    Es la primera vez que trabajo con wordpress, y lo que quiero es recuperar las entradas en una lista en el sidebar con la posibilidad de que un boton Ver mas… le permita ver la noticia completa en la página.
    Cree un page5.php con sidebar, pero no entiendo dónde (y como) llamo single.php.
    Espero puedan ayudarme, cualquier colaboración de antemano esta agredecida.

    • 19 mayo, 2017 // Responder

      Esto es un Shortcode y sirve para llamarlo desde widgets, sidebars o posts. Explicarte qué tienes que hacer para tu trabajo excede el contenido de esta entrada y como tampoco conozco tu nivel de conocimientos la tarea se complica. Solamente te digo que lo que hay dentro de la función shortcode_recientes lo puedes extraer para ponerlo donde quieras.
      Un saludo y gracias.

Responder a Luis Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*