Advertisement
  1. Code
  2. WordPress

50 Filtros de WordPress: Filtros 31-40

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called 50 Filters of WordPress.
50 Filters of WordPress: Filters 21-30
50 Filters of WordPress: Filters 41-50

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

En los artículos anteriores de esta serie, hemos visto 20 filtros para WordPress. En este tutorial, vamos a continuar repasando otra ronda acompañada de ejemplos de cada uno de ellos.

¡Empecemos!

Filtrar el Estilo Predeterminado de la Galería

WordPress asigna al shortcode de la galería ([gallery]) algunos estilos CSS predefinidos. Puedes cambiar este comportamiento con el filtro use_default_gallery_style.

Ejemplo: Deshabilitar el CSS Predeterminado

Si ya has aplicado estilo a las galerías de tu tema a través del archivo style.css y no necesitas las reglas CSS que vienen por defecto, puedes deshabilitarlas con el siguiente código:

¡Hecho! Ahora WordPress no añadirá una etiqueta <style> con un montón de reglas CSS antes de tus shortcodes [gallery].

Filtrar las URLs de los Adjuntos

Este filtro se aplica a la URL del adjunto que devuelve la función con el mismo nombre, wp_get_attachment_url().

Ejemplo: Evitar los Avisos “Contenido Mezclado”

Si estás usando encriptado SSL en tu sitio web, la función wp_get_attachment_url() devolverá una URL con HTTP en lugar de HTTPS, lo que dará como resultado un aviso “mezcla de contenido” para el usuario que visite tu sitio web. Con la siguiente función, puedes evitar que se muestre este aviso:

Configurar en Tipo de Contenido Predeterminado para el Email

En WordPress, por defecto, sólo puedes enviar emails de texto sin formato o "plano", ya que la función wp_mail() usa text/plain como tipo de contenido. Con el filtro wp_mail_content_type, puedes cambiar esto.

Ejemplo: Envía Emails Con WordPress Usando HTML

Si quieres ser capaz de enviar emails HTML, puedes usar el siguiente fragmento de código para cambiar el tipo de contenido de los emails de WordPress.

Guardar la Dirección IP del Usuario Que Ha Hecho un Comentario 

WordPress guarda la dirección IP de cada usuario que realiza un comentario en la tabla comentarios de tu base de datos. Si quieres jugar con él, puedes usar el filtro pre_comment_user_ip.

Ejemplo: Guardar la Dirección IP Real de Usuario Que Ha Comentado

Si un usuario que comenta usa un servidor proxy para enviar su comentario, WordPress almacenará la dirección IP del servidor en lugar de la dirección IP real del usuario. La IP real es enviada junto con otra cabecera HTTP, X-Forwarded-For. El siguiente fragmento de código tiene la función de coger ese registro, extraer la dirección IP real y guardarla en tu base de datos:

Si te has preguntado en alguna ocasión sobre la cabecera HTTP X-Forwarded-For, visita la Wikipedia para ampliar la información.

Cambiar el Número de Revisiones a Guardar por Cada Entrada

Probablemente sabrás que WordPress tiene una funciónalidad que nos permite guardar "revisiones" de nuestras entradas, y quizá sepas también que puedes cambiar la cantidad de revisiones que se guardan añadiendo la constante (WP_POST_REVISIONS) en el archivo wp-config.php.

Pero, ¿sabías que puedes cambiar el número de revisiones para distintos tipos de entradas, incluso para distintas entradas? Sí, pa eso es para lo que sirve el filtro wp_revisions_to_keep.

Ejemplo: Deshabilitar las Revisiones para un Tipo de Entrada Personalizada

Básicamente puedes cambiar la cantidad de revisiones que serán guardadas jugando con la variable $post, pero en nuestro ejemplo vamos a mantener las cosas simples y limitaremos el número de revisiones para un tipo de entrada personalizada llamada "event":

Puedes consultar una referencia rápida para la variable $post en el Codex para encontrar nuevas formas de usar este filtro. ¡No olvides comentar y compartir tus ideas con nosotros si tienes una buena!

Reescribir el Shortcode [caption]

El shortcode [caption] simplemente nos permite envolver nuestras imágenes con pies de fotos. Si necesitas cambiar en alguna ocasión la salida del shortcode en el front-end, puedes usar este filtro.

Ejemplo: Pies de Foto para las Imágenes con Código HTML5

HTML5 introduce dos nuevas etiquetas relacionadas con las imágenes: <figure> y <figcaption>. En este ejemplo, vamos a reescribir el código de [caption] con estas etiquetas:

Juega con el código como quieras – podría no gustarte usar IDs para la etiqueta <figure>, por ejemplo. Por lo demás, funciona de inmediato.

Añadir Clases Para las Entradas

El filtro (y la función) body_class es bien conocida entre los desarrolladores. ¿Qué hay de post_class, sabías que existe un filtro (y una función) para añadir clases a los contenedores de las entradas?

Ejemplo: Añadir una Clase Especial para la Primera Entrada del Loop

Un ejemplo perfecto sería añadir una clase personalizada sólo para la primera entrada del Loop. Veamos cómo hacerlo:

A partir de ahora, no tienes que usar la pseudo-clase :first en tu CSS ni preocuparte sobre la compatibilidad en los distintos navegadores – ¡usa simplemente la clase .first-post!

Añadir Campos Personalizados para los Archivos Adjuntos

En WordPress, los adjuntos son esencialmente muy parecidos a los tipos de entradas personalizadas, en el sentido de que pueden ampliarse como cualquier otro tipo de entrada – sólo que de una forma un poco distinta. El filtro attachment_fields_to-edit nos permite jugar con los campos que aparecen al subir o editar un adjunto.

Ejemplo: Añadir Información de Licencia a las Imágenes que Subes

Imagina que tienes un blog sobre fotografía y necesitas indicar la licencia de cada foto que subes como un adjunto. Con ayuda de acciones podemos añadir un campo para la "Licencia" de nuestros adjuntos:

Un increíble ejemplo de cómo podemos ampliar las funciones del núcleo de WordPress sin editar ninguna parte de su código.

Cambiar la Longitud del Extracto Automático

Por defecto, los extractos automáticos están hechos extrayendo 55 palabras de cada entrada y eliminando su formato. un número extravagante, en mi opinión. Si quieres cambiarlo, el filtro excerpt_length te permitirá hacerlo.

Ejemplo: Cambia la Longitud Automática del Extracto

Digamos que sólo quiero que aparezcan 15 palabras porque estoy creando un diseño similar al de Pinterest y no dispongo de demasiado espacio para los sumarios. Todo lo que necesito hacer es devolver la cifra en una función y engancharla en este pequeño filtro:

Fácil, ¿no?

Jugar Con Acciones en Lote de las Pantallas de Administración

Justo sobre los listados de elementos de las páginas de administración de WordPress (como Entradas, Páginas, Usuarios, Medios, etc.), existen algunas "Acciones en lote" mediante las cuales puedes seleccionar un conjunto de elementos sobre los que realizar algunos cambios. Este útil filtro nos permite jugar con este pequeño menú desplegable.

Ejemplo: Deshabilitar el Envío en Lote de Entradas a la Papelera

Imagina que eres el propietario de un blog de noticias y estás harto de que tu editor elimine accidentalmente las entradas que tiene que actualizar. Si no necesitas la funcionalidad de enviar a la papelera en lote, desactivala.

La variable $screenid del nombre del filtro es para el nombre de la pantalla del panel de administración que vas a cambiar. Puedes encontrar este listado de nombres de pantallas en la página del Codex "Admin Screen Reference @ Plugin API".

Fin de la Cuarta Parte

Hemos visto en este artículo la tercera ronda del total de 50 filtros de nuestra serie. Espero que hayas aprendido cosas nuevas en él. ¡Nos vemos en el siguiente!

Me encantaría escuchar también tu opinión. ¿Qué te parecen estos filtros? Déjanos tu comentario aquí abajo; y si te ha gustado el artículo, ¡no olvides compartirlo!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.