• Skip to main content
  • Skip to footer

Programación Multimedia

Diseño Gráfico y Desarrollo Web

  • Inicio
  • Qué hacemos
  • Portafolio
  • Blog
  • Contacto
You are here: Home / PHP / PHP: Entradas recientes con imagen destacada en Wordpress via Shortcode

PHP: Entradas recientes con imagen destacada en WordPress via Shortcode

24 junio, 2012 Por Raúl Flores 76 Comments

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.

Filed Under: PHP Tagged With: shortcode, wordpress

En el blog

La Edad de Oro del software español

Esta vez quiero comentar la reciente publicación del volumen 2 del fabuloso libro Ocho Quilates. Una historia de la Edad … [Leer más...] about La Edad de Oro del software español

CSS3: Añadir borde a una tipografía

Buscando la forma de crear un borde para algún titular de esta web, sin tener que hacerlo vía imagen/Photoshop, me … [Leer más...] about CSS3: Añadir borde a una tipografía

tutorial ios tabla personalizada

iOS: Crear vista de tabla personalizada sin usar UITableView

Muchas veces queremos crear una vista de tabla usando UITableView y a la hora de personalizarla nos encontramos con … [Leer más...] about iOS: Crear vista de tabla personalizada sin usar UITableView

Ayúdanos a difundir

Si te ha parecido útil esta información, por favor compártela en las redes sociales.

Reader Interactions

Comments

  1. Mauricio says

    15 agosto, 2012 at 22:19

    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

    Responder
    • Raúl Flores says

      16 agosto, 2012 at 7:15

      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…

      Responder
  2. Angel Chacon says

    16 septiembre, 2012 at 19:00

    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

    Responder
    • Raúl Flores says

      17 septiembre, 2012 at 10:29

      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

      Responder
  3. Alfredo Govea says

    13 diciembre, 2012 at 17:12

    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.

    Responder
  4. Raúl Flores says

    13 diciembre, 2012 at 17:32

    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.

    Responder
  5. Alfredo Govea says

    13 diciembre, 2012 at 17:44

    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 .= ‘
    ‘;

    Responder
  6. Alfredo Govea says

    13 diciembre, 2012 at 18:44

    Muchas gracias 🙂 bonito día.

    Responder
  7. Alfredo Govea says

    14 diciembre, 2012 at 19:37

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

    Responder
  8. Alfredo Govea says

    17 diciembre, 2012 at 23:40

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

    Responder
  9. Raúl Flores says

    18 diciembre, 2012 at 9:02

    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.

    Responder
  10. Alfredo Govea says

    21 diciembre, 2012 at 18:57

    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.

    Responder
  11. Alfredo Govea says

    7 enero, 2013 at 17:32

    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.

    Responder
  12. Raúl Flores says

    10 enero, 2013 at 8:40

    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.

    Responder
  13. Carlos Piñeiro says

    10 enero, 2013 at 16:00

    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.

    Responder
  14. Raúl Flores says

    10 enero, 2013 at 17:28

    Usa target=»_blank»
    http://www.w3schools.com/tags/att_a_target.asp

    Responder
  15. Carlos Piñeiro says

    11 enero, 2013 at 8:10

    Hasta ahí llego, pero no sé si se puede poner en el PHP.

    Responder
  16. Raúl Flores says

    11 enero, 2013 at 8:47

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

    Responder
  17. Carlos Piñeiro says

    11 enero, 2013 at 17:19

    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.

    Responder
    • Raúl Flores says

      14 enero, 2013 at 12:23

      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.

      Responder
  18. Carlos Piñeiro says

    15 enero, 2013 at 8:05

    Totalmente. Muchas gracias.

    Responder
  19. Albert says

    17 enero, 2013 at 17:39

    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,

    Responder
    • Raúl Flores says

      21 enero, 2013 at 11:35

      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!

      Responder
      • Albert says

        26 enero, 2013 at 16:40

        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.

        Responder
  20. Raúl Flores says

    28 enero, 2013 at 8:58

    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?

    Responder
  21. fabian says

    5 junio, 2013 at 16:03

    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.

    Responder
    • Raúl Flores says

      6 junio, 2013 at 9:06

      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.

      Responder
      • fabian says

        7 junio, 2013 at 12:57

        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.

        Responder
  22. Cris says

    27 agosto, 2013 at 2:26

    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

    Responder
  23. Cris says

    27 agosto, 2013 at 2:43

    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

    Responder
  24. Gaby says

    29 abril, 2014 at 0:29

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

    Responder
  25. Nacho says

    14 julio, 2014 at 15:14

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

    Responder
  26. Nacho says

    14 julio, 2014 at 20:16

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

    Responder
  27. Raúl Flores says

    2 agosto, 2014 at 18:37

    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!

    Responder
  28. Juan Pablo says

    13 septiembre, 2014 at 22:02

    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

    Responder
    • Raúl Flores says

      15 septiembre, 2014 at 14:56

      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!

      Responder
  29. evans says

    5 noviembre, 2014 at 17:32

    excelente post muy bien explicado gracias

    Responder
  30. Ivan says

    5 noviembre, 2014 at 17:50

    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??

    Responder
    • Raúl Flores says

      5 noviembre, 2014 at 21:04

      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!

      Responder
  31. Ana T says

    8 febrero, 2015 at 18:09

    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

    Responder
    • Raúl Flores says

      12 febrero, 2015 at 21:33

      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!

      Responder
  32. Ana T says

    14 febrero, 2015 at 5:16

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

    Responder
    • Raúl Flores says

      14 febrero, 2015 at 12:32

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

      Responder
  33. Sandro says

    18 marzo, 2015 at 1:07

    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.

    Responder
    • Raúl Flores says

      19 marzo, 2015 at 17:10

      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!!

      Responder
  34. Sandro says

    26 marzo, 2015 at 22:25

    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.

    Responder
    • Raúl Flores says

      27 marzo, 2015 at 13:11

      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

      Responder
  35. Sandro says

    1 abril, 2015 at 20:48

    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/)

    Responder
    • Raúl Flores says

      4 abril, 2015 at 19:25

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

      Responder
  36. valzago says

    26 enero, 2016 at 18:00

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

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

    Responder
    • Raúl Flores says

      28 enero, 2016 at 22:59

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

      Responder
      • valzago says

        2 marzo, 2016 at 22:29

        Gracias!
        Disculpa la Tardanza

        Responder
  37. Manuel Estrada says

    26 mayo, 2016 at 20:41

    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.

    Responder
    • Raúl Flores says

      27 mayo, 2016 at 14:36

      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!

      Responder
  38. Joel says

    28 mayo, 2016 at 4:51

    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.

    Responder
  39. Berni says

    25 octubre, 2016 at 12:04

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

    Responder
    • Raúl Flores says

      27 octubre, 2016 at 20:55

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

      Responder
  40. Luis says

    1 noviembre, 2016 at 15:55

    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!

    Responder
    • Raúl Flores says

      7 noviembre, 2016 at 13:46

      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

      Responder
      • Luis says

        12 noviembre, 2016 at 12:44

        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

        Responder
      • Luis says

        12 noviembre, 2016 at 15:49

        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.

        Responder
      • Luis says

        13 noviembre, 2016 at 21:17

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

        Responder
  41. Raul says

    14 diciembre, 2016 at 23:24

    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.

    Responder
  42. Rocio says

    18 mayo, 2017 at 23:36

    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.

    Responder
    • Raúl Flores says

      19 mayo, 2017 at 12:10

      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
  43. mauro gaitan says

    8 octubre, 2017 at 22:46

    Hola Amigo fantastico el post una consulta no muestra el extracto del post con el codigo que me brindaste ,que puedo hacer?

    Responder
    • Raúl Flores says

      11 octubre, 2017 at 17:07

      El código si muestra el extracto. ¿Estás seguro tienes relleno el campo extracto en la entrada de la página?
      Aquí lo haprobado mucha gente como puedes ver y nadie lo ha comentado y a mi me funciona.
      Salu2!

      Responder
  44. Mario says

    28 octubre, 2017 at 18:24

    Gracias por el aporte! 🙂

    Responder
  45. jack says

    11 noviembre, 2017 at 16:06

    como aria si solo quiero mostrar una categoría especifica por el shortcode

    [recientes limite=»2″ longitud_titulo=»50″ longitud_desc=»50″ thumbnail=»1″ tamano=»50″ categoria=»7″]

    no me funciona

    Responder
  46. Irene says

    22 diciembre, 2017 at 12:06

    Hola! Está GENIAL este código. Ojalá todos los q encuentro fueran así.
    Andaba buscando un plugin para, en un portfolio, mostrar los items relacionados… y eran todos difíciles de usar o muy pesados, o me daban problemas con el tema… Y aunque sé algo de php, siempre me da pereza tirar de código si no me viene «listo para usar»… pero TE EXPLICAS TAN BIEN q no me costó nada adaptarlo a mi uso. Cambiar el tipo de post type, llamar a las categorías del portfolio, retirar lo que no necesitaba mostrar (sólo quería foto y título)…

    Solo tengo un comentario, al ponerlo tal cual, vi con el inspector que montaba un desorden de divs y p que se abrían y cerraban… y al final moví el cierre del div después del /* fin del while */ y se organiza un poco la estructura.
    Añadí algún class más para controlar el aspecto con css… pero me resultaba imposible poner todo en una línea, uno detrás de otro, así q me tiré a la piscina e intenté organizar mis thumbnails y títulos en una tabla… y funcionó!

    Es que es una pasada, se entiende muy bien y es super fácil ir poniendo y quitando cosas con $salida… ahora abro un p aquí, ahora cierro un td allá… Estoy encantada, me has dado fuerzas para no acobardarme a la hora de meter mano en el código que copio-pego.
    Aunque también te digo, marcas la diferencia: ordenar tan bien el código y usar nombres para las variables que se entiendan, poner comentarios… sin eso no hubiera podido.

    GRACIAS GRACIAS GRACIAS!!

    Responder
  47. Irene says

    22 diciembre, 2017 at 12:11

    Ay! Q parras… te escribía para hacerte una pregunta y en la loa se me ha ido de la cabeza…
    Atención, pregunta:

    ¿Cómo hago para que en el listado de posts relacionados NO SALGA el mismo post en el que me encuentro?
    Yo he puesto un listado de «items de portfolio» relacionados en un widget que me muestra en cada página de items de portfolio, pero claro, queda un poco raro que salga el mismo proyecto que estoy viendo como «relacionado». ¿Me explico?

    Bueno, mil gracias!

    Responder
    • Raúl Flores says

      26 diciembre, 2017 at 14:11

      Hola Irene gracias por tus comentarios :-), no tengo tiempo ahora para hacer pruebas pero tendrás que añadir un nuevo argumento a la query del principio, creo sería:
      ‘post__not_in’=> array( get_the_ID() )
      Testealo y me comentas.
      Gracias un saludo!

      Responder
  48. Irene says

    4 enero, 2018 at 12:06

    Hola!!
    Mil gracias por tu rápida respuesta.
    Sí, ha funcionado a las mil maravillas…
    Acabas de hacer una nueva fan.
    No pienso perderme NADA!!

    Responder
  49. Onelia says

    8 julio, 2020 at 23:10

    Buen día,
    recibe un cordial saludo.
    Ante todo permíteme felicitarte por tu didáctica y organización. Haces todo tan entendible que hasta yo que no sé programar pude aplicar el shortcode y hasta sumé la posibilidad de agruparlos por categorías tal como explicaste luego. Ocho años después sigue siendo un material vigente.
    Todo me fue muy bien salvo que no logro cambiar el orden por ASC cuando cambio DESC por ASC en el shortcode, aunque no lo he visto como un problema mayor.
    Me queda una duda que veo como más importante y te pido, si es posible, me hagas algún comentario al respecto:
    ¿Es posible agregar post individuales (seleccionado por ID) al resultado dejando la alternativa de las categorías desactivada para usarlo a conveniencia?, no sé si las categorías se podrían hacer que no se muestren (como cuando haces el thumbnail false) y quedarnos con unas Ids de nuestra selección.
    Muchas gracias nuevamente, un abrazo

    Responder
  50. Lenin says

    2 septiembre, 2020 at 22:46

    Es posible agregar post individuales (seleccionado por ID) al resultado dejando la alternativa de las categorías desactivada para usarlo a conveniencia?

    Responder
  51. José Luis says

    24 octubre, 2020 at 11:28

    Fantástico script, me ha solucionado mostrar todas las entradas en una página concreta de WordPress sin necesidad de plugins. Gracias Rául, gran trabajo.

    Responder

Deja un comentario Cancelar respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Footer

Desarrollo Web
hazte visible

DA EL PRIMER PASO

Diseño web programacion multimedia

Copyright 2012 | www.programacionmultimedia.net | Raúl Flores