Detalles del tutorial
- Tecnología: PHP
- Dificultad: Nivel básico
- Tiempo de realización: 15 minutos
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');
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.
Mauricio dice
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
Raúl Flores dice
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…
Ronald Espinosa dice
Hola mi estimado amigo, bonito y explicado post Lo que quería saber es como hago para que salga el nombre entradas recientes, porque eso no sale y además como hago para eliminar la hora. Saludos cordiales
Angel Chacon dice
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
Raúl Flores dice
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
Alfredo Govea dice
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.
Raúl Flores dice
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.
Alfredo Govea dice
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 .= ‘‘;
Alfredo Govea dice
Muchas gracias 🙂 bonito día.
Alfredo Govea dice
Hola yo de nuevo perdona de verdad, y para elegir el tipo de entradas de unas determinadas categorías, gracias saludos
Alfredo Govea dice
Hola perdona que te moleste pero no encuentro como poner que salgan las entradas de una determinada categoría, espero me puedas ayudar saludos
Raúl Flores dice
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.
Alfredo Govea dice
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.
Alfredo Govea dice
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.
Raúl Flores dice
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.
Carlos Piñeiro dice
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.
Raúl Flores dice
Usa target=»_blank»
http://www.w3schools.com/tags/att_a_target.asp
Carlos Piñeiro dice
Hasta ahí llego, pero no sé si se puede poner en el PHP.
Raúl Flores dice
Si que se puede, incluye target=»_blank» dentro de la etiqueta a del enlace que prefieras. El php lo admite sin problemas
Carlos Piñeiro dice
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.
Raúl Flores dice
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.
Carlos Piñeiro dice
Totalmente. Muchas gracias.
Albert dice
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,
Raúl Flores dice
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!
Albert dice
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.
Raúl Flores dice
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?
fabian dice
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.
Raúl Flores dice
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.
fabian dice
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.
Cris dice
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
Cris dice
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
Gaby dice
Mil gracias!!! Me funcionó de maravilla haciéndolo en la forma de widget de texto. Excelente Post!!!
Nacho dice
¿¿Y como se puede hacer para que sean las ultimas paginas publicadas; y no las ultimas entradas??
Nacho dice
Ah, por cierto, increíble tu informacion, y muy util….
Raúl Flores dice
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!
Juan Pablo dice
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
Raúl Flores dice
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!
evans dice
excelente post muy bien explicado gracias
Ivan dice
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??
Raúl Flores dice
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!
Ana T dice
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
Raúl Flores dice
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!
Ana T dice
Raul, finalmente lo pude resolver solo le agregue al array ‘post_type’ => ‘nombre de mi custom post type’ y problema solucionado. Saludos!!
Raúl Flores dice
Pues claro!! Yo me enrevesé… Gracias por tu solución.
Un saludo!!
Sandro dice
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.
Raúl Flores dice
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!!
Sandro dice
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.
Raúl Flores dice
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
Sandro dice
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/)
Raúl Flores dice
Ok he modificado el código del post y ahora te mostrará las categorías a que pertenece y la fecha.
Un saludo!
valzago dice
Como seria poner un tañamo especifico 200 x 300 al thumbnail ?
asi como esta mientras modifiques el valor mantiene la relacion de aspecto
Raúl Flores dice
Hola valzago, eso es fácil, ve la la línea 26 y donde pone $tamano,$tamano lo sustituyes por 200,300
Un saludo!
valzago dice
Gracias!
Disculpa la Tardanza
Manuel Estrada dice
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.
Raúl Flores dice
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!
Joel dice
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.
Berni dice
Excelente truco!
¿Como podria mostrar solo los post de una o dos categorias concretas?
Raúl Flores dice
Hola Berni, busca entre los comentarios que eso ya se lo he resuelto aquí a otro lector.
Un saludo!
Luis dice
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!
Raúl Flores dice
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
Luis dice
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
Luis dice
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.
Luis dice
Buenas tardes,
Investigando un poquito, ya encontré la forma de poner el link de paginación en el lugar deseado.
Un saludo
Raul dice
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.
Rocio dice
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.
Raúl Flores dice
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.
mauro gaitan dice
Hola Amigo fantastico el post una consulta no muestra el extracto del post con el codigo que me brindaste ,que puedo hacer?
Raúl Flores dice
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!
Mario dice
Gracias por el aporte! 🙂
jack dice
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
Irene dice
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!!
Irene dice
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!
Raúl Flores dice
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!
Irene dice
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!!
Ronald Espinosa dice
por favor envia una imagen para en que parte pegas ‘post__not_in’=> array( get_the_ID() )
Raúl Flores dice
Hola Ronald, para trastear con este código hay que tener unos pequeños conocimientos básicos de php. De todas formas te comento:
Para la inclusión del argumento en la query que me comentas, la línea 17 del código quedaría así:
$query = array('showposts' => $limite, 'orderby'=> 'date', 'order'=>'DESC', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'post__not_in'=> array( get_the_ID() ) );
Espero haberte ayudado, un saludo.
Ronald Espinosa dice
Hola gracias por el post esta genial Quería preguntarte como hago para que salga como titulo Entradas Recientes. De antemano, gracias por tu ayuda
Raúl Flores dice
Hola puedes ponerlo tal cual, ya sea en el widget de texto o en la redacción del post, antes de poner el shortcode.
Saludos
Ronald Espinosa dice
Hola Raúl gracias, por responder, lo que pasa es que si pongo en forma de texto antes del shortcode no queda con la misma letra y porte de los otros titulos de la barra lateral como el de CATEGORÍAS o COMENTARIOS RECIENTES y si pongo con un bloque de texto queda alejada del widget de entradas recientes
Raúl Flores dice
Hola Ronald, eso es un tema de maquetación, poner los títulos en titulares h2, h3… O incluso css para dale el mismo estilo al titular que a los que ya tienes.
Esto queda fuera de la intención de este artículo ya que lo que necesitas es saber algo de html para darle la misma coherencia a los titulares.
Un saludo