Lo mejor de mi timeline del 3 al 9 de noviembre

https://twitter.com/JavierCasares/status/266099092218847233

Leer más » 1 Comentario

Añadir un shortcode a un excerpt (extracto) en WordPress

Hace tiempo os contábamos cómo crear vuestros propios shortcodes en WordPress, sin embargo, si deseamos usar un shortcode dentro del excerpt (recordad que esto es el extracto de la entrada) hemos de indicarlo explicitamente.

Para ello, hemos de editar los filtros para excerpt. Así, al igual que para crear nuestros propios shortcodes editamos el fichero functions.php dentro del tema, ahí indicamos:

add_filter('the_excerpt', 'shortcode_unautop');
add_filter('the_excerpt', 'do_shortcode');

De esta manera, nuestro functions.php quedará, junto con los shortcodes previamente asignados, de la siguiente forma:

//[etiqueta]
function funcion_de_la_etiqueta( $atts ){
 return "Esto es un shortcode en toda regla...";
}
add_shortcode( 'etiqueta', 'funcion_de_la_etiqueta' );

add_filter('the_excerpt', 'shortcode_unautop');
add_filter('the_excerpt', 'do_shortcode');

Leer más » 3 Comentarios

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

[WordPress] Mostrar mensaje en el área de administración

Cuando desarrollamos un plugin o un tema en WordPress es muy posible que deseamos notificar al administrador del sitio de algún evento. Normalmente para mostrar un error o simplemente para informar de la nueva página de opciones para esa extensión.

Como veis en la imagen de arriba, la interfaz en sencilla y se integra perfectamente dentro de nuestro tema de administración. Sólo necesitamos tener dos cosas en cuenta: hacer uso del id=”message” con la clase que deseemos (en el ejemplo he usado class=”updated” aunque podéis usar class=”error” si deseáis mostrar un error); y controlar el hook dónde deseemos

Dentro de, por ejemplo el plugin o en el functions.php del tema (según corresponda), incluiremos la siguiente función, que muestra el mensaje:

function mostrarMensajeAdmin()
{
     echo '<div id="message" class="updated">
           <p>Este es <strong>el mensaje</strong> que deseamos mostrar,
           muy útil cuando queremos <a>vincular algún elemento</a>
           </p></div>';
     // Y si queremos sólo mostrárselo a los usuarios administradores
     if (user_can('manage_options') {
          echo'<div id="message" class="updated">
               <p>¡Hola administrador!</p></div>';
     }
}

Finalmente, para lanzarlo, usamos añadimos un hook en la parte dónde deseamos controlar su ejecución para ser mostrado:

add_action('admin_notices', 'mostrarMensajeAdmin');

Leer más » 1 Comentario

5 consejos para usar jQuery con WordPress

A día de hoy pocos trabajan directamente con JavaScript para manejar la parte del cliente, se suelen usar frameworks que facilitan el trabajo y sin lugar a dudas, la referencia es jQuery. Cuando desarrollamos temas en WordPress (y plugins), por lo tanto, será bien probable que necesitemos de jQuery. Hay muchas formas de usarlo, pero vamos a explicar una serie de buenos métodos para evitar complicaciones.

Este texto es una traducción, adaptación y mejora del original en inglés: 5 tips for using jQuery with WordPress de Eric Martin.

1. Utiliza wp_enqueue_script()

Cuando manejamos jQuery a secas, sin WordPress, usamos directamente la etiqueta <script> y llamamos a nuestro fichero, ya esté en local o en un CDN. Sin embargo, en WordPress las cosas cambian, aunque pueda funcionar, no debemos hacerlo.

Para ello tenemos una función específica: wp_enqueue_script y podemos unir la carga de jQuery a una acción en concreto. Al igual que esta función existe otra para cargar estilos: wp_enqueue_style.

Leer más » 1 Comentario

[WordPress] Mejorar la página de búsqueda

La página de resultados típica en la búsqueda en WordPress tiene por título “Resultados de búsqueda para: <términos de búsqueda>“. Esto no es demasiado útil, apenas nos aporta información y quizás sea más interesante mostrar cuántos artículos satisfacen este filtro de búsqueda. De esta forma sabremos, cuando estemos buscando algo, si los términos de búsqueda utilizados satisfacen y filtran la información que necesitamos.

Veámoslo, es fácil. Vamos a cambiar nuestro título a algo así como “Resultados de la búsqueda para los términos de búsqueda – N artículos”. Lo primero que hemos de hacer es dirigirnos al tema que tengamos activado, una vez dentro editamos el fichero y buscamos la cadena que dice:

<h2 class="pagetitle">Resultados de búsqueda..</h2>

para reemplazarla por:

<h2>Resultados de la búsqueda de '<?php
$allsearch =& new WP_Query("s=$s&showposts=-1");
$key   = wp_specialchars($s, 1);
$count = $allsearch->post_count;
_e('');
_e('<span>');
echo $key;
_e('</span>');
_e(' &mdash; ');
echo $count . ' ';
_e('art&iacute;culos');
wp_reset_query();
?></h2>

Leer más » 4 Comentarios

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

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