Limitar el número de palabras o caracteres en el editor de WordPress

No suele ser lo normal, porque lo más frecuente es que quieras limitar el tamaño del extracto (excerpt) pero en ocasiones puede dársenos el caso de que necesitemos para un cliente limitar el tamaño del contenido de nuestra entrada. Probablemente estemos hablando de un custom post type y a veces tendremos que limitar en función al número de palabras y otras veces, en función al número de caracteres.

El código es el siguiente y deberá ir insertado en vuestro fichero functions.php del tema que estéis usando:

add_action( 'admin_print_footer_scripts', 'check_textarea_length' );

function check_textarea_length() {
	?>

Leer más » 1 Comentario

Aligerando WordPress: optimizando el rendimiento

Aprovechando la celebración de la Meetup WordPress Córdoba 2012, la segunda que se celebra y de la que hablaré más y mejor en otra entrada, preparé una ponencia sobre rendimiento en WordPress. La presentación va dirigida a la fórmula más popular: WordPress ejecutando en un servidor de alojamiento compartido.

Dentro de la ponencia no se habla de mejoras a nivel de servi

Leer más » 4 Comentarios

Cómo obtener la anchura y la altura de las imágenes destacada de una entrada en WordPress

Cuando estamos diseñando un tema en WordPress probablemente tengamos que tratar con imágenes destacadas en las entradas, las llamadas Post Thumbnails. Las imágenes como tal tienen una serie de características, pero desde el punto de vista del diseño las que nos importa más son sus dimensiones: ancho y alto. ¿Cómo saberlas? Aquí os lo cuento.

Dentro del loop usaremos este extracto de código:

$imgdata = wp_get_attachment_image_src
  (get_post_thumbnail_id(), 'thumbnail');
$imgurl = $imgdata[0]; // UTL
$imgwidth = $imgdata[1]; // anchura
$imgheight = $imgdata[2]; // altura

Leer más » 1 Comentario

Integrar un plugin dentro de un tema en WordPress

Aunque el título parezca algo extraño, así es. Si tenemos un plugin que realiza una serie de funciones que queremos distribuir junto con nuestro tema, siempre podremos integrarlo dentro del mismo y así conseguir que al instalar el tema se tengan las funciones del plugin. No os preocupéis por la integración, salvando algún problema derivado de que el plugin lea alguna ruta mal definida (por culpa del autor del plugin) no deberíais tener ningún problema de integración: podréis ver su menú de administración, podréis usar sus shortcode si los tiene, podréis guardar preferencias, etc. no hay problemas en ese sentido gracias a la magia de WordPress su modularidad y lo bien que se adapta al espacio de nombres de PHP. ¿Cómo se hace?

  1. Copia y pega en el raíz de tu tema el directorio del plugin
  2. En el functions.php de tu tema incluye el siguiente código: require_once (get_template_directory() . ‘/miplugin/miplugin.php’ ); siendo “miplugin” el directorio del plugin en cuestión y el fichero que sigue el fichero principal del plugin
  3. Borra del fichero principal del plugin la metainformación que lo define, será un bloque de comentarios que comenzará de la siguiente forma:
Leer más » 1 Comentario

[PHP] Convertir segundos en una cadena de tiempo

Me hizo falta hace poco, son de estas cosas que haces una vez y puedes usarla 3 veces a lo largo de tu vida. Los comúnmente conocidos como desarrollos no rentables. En este caso sí lo fue, y como podéis ver por el código no perdí más de 20 minutos en elaborarlo.

Es posible que se os dé el caso y queráis ahorrar vuestro precioso tiempo. Si lo que queréis es simplemente convertir unos segundos en un timestamp en PHP os bastará con crearos en vuestro fichero de funciones:

<?php
function segundosToCadena($segs){
$cadena = ”;
if($segs >= 86400) {
$dias = floor($segs/86400);
$segs = $segs%86400;
$cadena = $dias.’ día’;
if($dias != 1) $cadena .= ‘s’;
if($segs >= 0) $cadena .= ‘, ‘;
}

Leer más » 2 Comentarios

2ª WordPress Meetup Córdoba 2012 – 6 de octubre

Tras el éxito cosechado en la primera edición, volvemos a repetir, os presento la WordPress Córdoba Meetup 2012 que tendrá lugar el día 6 de octubre, sábado, a partir de las 9:00h en la Facultad de Ciencias del Trabajo de la Universidad de Córdoba.

Ya os aviso de que el evento ha crecido, tanto en número de personas inscritas (inscríbete aquí) como en número de ponencias y charlas. Este año como novedad, hemos separado el programa en dos espacios uno para ponencias y otro para microcharlas.

Quien les habla tratará un tema que espero que guste, rendimiento en WordPress, el título de la ponencia es: Aligerando WordPress, optimizando el rendimiento.

Segunda Meetup WordPress Córdoba 2012

Leer más » 2 Comentarios

El Loop de WordPress: entendiendo la diferencia entre query_posts y WP_Query

Si hay algo importante en un sitio WordPress es el loop. Para programar sitios basados en WordPress debemos tener muy en cuenta los métodos que nos proporciona: query_posts y WP_Query, ¿qué diferencias tiene? ¿Cuándo debemos usar cada una?

Resumiendo

La función query_posts está pensada para modificar el loop de la página principal. La idea de esta función no es crear loops secundarios. Si lo que queremos es crear loop secundarios, deberemos usar objetos WP_Query. Usar query_posts en loop secundarios puede darnos como resultado comportamiento erróneos que muestren cosas que no queremos.

Loop de WordPress

¿Pero qué es el loop principal y qué son los loop secundarios?

Vamos a explicar detalladamente estos dos conceptos, para qué sirven y en qué situaciones hacen falta.

Leer más » 2 Comentarios

Evitar entradas duplicadas en el loop de WordPress

Por motivos que pueden tener que ver con filtros o mala utilización de las consultas personalizadas para loops, es posible que en alguna ocasión suframos un problema: aparece contenido duplicado en nuestro blog o sitio realizado en WordPress.

Para evitar este problema, crearemos un array con los identificadores de las entradas, de forma que sepamos cuáles han sido ya mostradas en el loop actual y así evitar que se muestren dos veces. Tened en cuenta que las entradas están identificadas con su respectivo número entero que es su clave primaria, el identificador.

Veamos directamente el código:

Leer más » 1 Comentario

Paginación en WordPress no funciona

En alguna ocasión me he encontrado con algún cliente o un tema en un proyecto propio en el que los botones de paginación no funcionan, incluso usando paginación al estilo WP Page Navi. El problema es que siempre se presenta la primera página sea cuál sea la página que se pida (podemos ver la página que se pide en la URL: /page/2 o /page/3…).

Probablemente no sea un problema de WordPress sino un problema de vuestro tema que no trata las variables de paginación. ¿Cómo podemos verlo? Dirigiros a vuestro index.php o al fichero en el que esté implementado el loop.

  1. Buscad la zona donde se forme la consulta (WP_Query)
  2. Comprobad en sus parámetros si se trata la página, sería algo así: &paged=’ . $paged
  3. En caso de que no se trate la variable, ahí tenéis el problema, si se trata tenéis que comprobar que la variable paged está siendo declarada y correctamente recogida de la URL: $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;

El código a buscar sería el que se encuentra alrededor de WP_Query y debería modificarse para que quedara como se indica a continuación:

Leer más » 2 Comentarios

“Could not create the index.html file” en tinthumb.php

Logo Timthumbtimthumb es un pequeño script PHP que nos permite de forma simple mediante parámetros GET, redimensionar, recortar o hacer zoom sobre imágenes. Por esta utilidad, ha sido usado ampliamente en temas WordPress y en otros muchos sitios. Aunque tiene cierta fama por su seguridad (por sus fallos, a priori todos ya resueltos), su uso conlleva alguna problemática de vez en cuando.

Uno de los errores que pueden aparecernos es el que ilustra el título de esta entrada: “Could not create the index.html file” y que puede aparecer sólo o en compañía de otros errores típicos que en otra ocasión trataremos. read more

Leer más » 1 Comentario