Advertisement
  1. Code
  2. WordPress

50 filtros de WordPress: Filtros 11-20

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

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

En los anteriores artículos de esta serie, empezamos a repasar 50 filtros de WordPress. Seleccionados de entre los cientos que existen, comenzamos viendo 10 de ellos.

En este tutorial, vamos a repasar otra ronda de esos 50 filtros y veremos algunos ejemplos para cada uno.

¡Empecemos!

Trabajar con datos traducibles en WordPress

Una de las mejores características de WordPress es que cada fragmento de texto está preparado para su traducción. No obstante, si el idioma de tu sitio web es el inglés, no necesitarás esta característica - ¿o quizá sí?

El filtro gettext podría serte útil de una forma distinta. Veamos un interesante ejemplo.

Ejemplo: ¡Corregir la gramática de otro desarrollador!

Imagina que encuentras un interesante plugin con el que trabajar, pero te das cuenta de que su propietario no habla inglés muy bien, y que algunos textos dentro del código no están muy bien escritos. Por fortuna las cadenas son traducibles, así que serás capaz de cambiarlas con la ayuda del filtro gettext.

Veamos cómo:

Limpiar el slug

WordPress usa una función llamada sanitize_title() para limpiar los títulos, sustituye los espacios por guiones y los prepara para poderlos guardar como slugs. Con el filtro sanitize_title (sí, el con el mismo nombre) podrás ampliar esta función.

Ejemplo: Eliminar las palabras “El” del slug

Si no quieres que la palabra “el” aparezca en tus slugs, puedes eliminarla en todos ellos con el siguiente fragmento de código:

Una solución sencilla y elegante.

Crear excepciones para la texturización de los shortcodes

Este útiltimo filtro “te permite especificar qué shortcodes no deberían ser ejecutados a través de la función wptexturize()”, tal y como explica el Codex.

Ejemplo: Excluye tu código de la texturización

Si quieres excluir el shortcode que has creado de la texturización, usa este código para añadir el nombre de tu shortcode a la lista “do not texturize”:

Bastante sencillo, ¿no?

Filtrar el estado de aprobación de un comentario

WordPress tiene su propio método de comprobación para los comentarios (lo que podría ser muy útil contra los spammers) antes de decidir si el comentario debería ser marcado como spam, ser enviado a la cola de moderación o aprobado. El filtro pre_comment_approve permite que los plugins puedan ayudar con esta decisión.

Ejemplo: Marcar comentarios con largos nombres de autor como spam

En mi país, Turquía, los que envían spam a WordPress usan normalmente nombres realmente largos, en ocasiones la propia URL.

Con el siguiente fragmento de código, podrás eliminar automáticamente los spammers que usan nombres como “Envíos a domicilio e internacionales con precios extremadamente bajos (haz clic aquí para más información)”:

¡Doy las gracias especialmente a Andrew Norcross por la idea!

Consejo adicional: Si quieres eliminar spam comprobando la longitud de la URL del autor del comentario, usa 'comment_author_url' en lugar de 'comment_author'. De hecho, Andrew Norcross usaba la URL en su truco original.

Configurar la función "Publicar por correo electrónico"

¿Sabías que puedes publicar en tu blog WordPress vía email? WordPress ofrece esta poco utilizada característica y te permite activarla y desactivarla mediante el filtro enable_post_by_email_configuration.

Ejemplo: Activar y desactivar la funcionalidad “Publicar por correo electrónico”

Es posible que desees desactivar esta funcionalidad por alguna razón (quizá por seguridad). Y lo puedes hacer con tan solo una línea de código:

O si estás en un sitio WordPress Multisitio y necesitas habilitar la funcionalidad (ya que en las instalaciones multisitio está desactivada por defecto), puedes usar la función __return_true():

Filtrar los títulos de tu página

La función wp_title() muestra los títulos de las páginas, los que vemos en las pestañas de nuestros navegadores. Y la función wp_title nos permite manipularlos.

Ejemplo: Reescribir los títulos de tu página – de forma correcta

Un respetado “guru” de WordPress (y editor en Tuts+ Code) Tom McFarlin nos explica en su blog cómo reescribir los títulos de nuestra página adecuadamente con la función wp_title() y el filtro con el mismo nombre:

Dado que wp_title es una función filtrada, esto significa que podremos proporcionar un gancho personalizado que nos permita definir el esquema para mostrar nuestros títulos no sólo de forma más precisa, sino también correctamente.

Asegúrate de leer este artículo. ¡Gracias Tom!

Procesar comentarios antes de que sean almacenados en la base de datos

Si necesitas cualquier ayuda para cambiar los datos de los comentarios (el ID de la entrada del comentario, el nombre de su autor, el email del autor, el sitio web del autor, el tipo de comentario, el ID del usuario en caso de que sea un usuario, el tipo de comentario y el contenido del comentario), preprocess_comment puede ayudarte.

Ejemplo: Baja el volumen de los que gritan

¿RECIBES MUCHOS COMENTARIOS EN LOS QUE CADA PALABRA ESTÁ EN MAYÚSCULAS? Si es así, puedes cambiar automáticamente esos caracteres a minúsculas con el siguiente fragmento de código:

Genial, ¿no?

Gestionar las redirecciones tras iniciar sesión

Este pequeño filtro nos permite configurar las redirecciones (distintas a las del panel de administración) después del proceso de inicio de sesión, lo que puede ser muy útil en algunos casos.

Ejemplo: Redireccionar a los suscriptores a la página de inicio

Si no quieres que tus usuarios (aquellos con el rol de “suscriptor”) vean tu panel de administración después de iniciar sesión, puedes redirigirlos a la página de inicio de tu sitio web:

El Codex nos advierte una cosa: “Asegúrate de usar add_filter fuera de is_admin(), ya que esa función no está disponible cuando se invoca el filtro.”

Crear enlaces de acción para tu plugin

Si estás desarrollando un plugin, es posible que te preguntes cómo han añadido otros desarrolladores enlaces bajo el nombre de sus plugins en la página plugins del escritorio. Bueno, pues usan precisamente este filtro.

Ejemplo: Añadir un enlace “Ajustes” para mostrarlo en la página de los plugins

Para añadir un enlace de acción personalizado bajo el nombre de tu plugin que figura en la lista de la página de plugins, puedes usar esta función y engancharla en el filtro:

Observa que estamos usando la constante __FILE__ para enganchar nuestra función al filtro con el nombre de tu plugin. Sencillo, ¿no?

Usa esto con cuidado: si abusas del espacio disponible llenándolo de enlaces, la gente te recordará como un spammer.

Filtrar el contenido que está dentro del editor de la entrada

¿Has deseado en alguna ocasión rellenar previamente el editor de la entrada para empezar a escribir con una plantilla de entrada, o dejar anotaciones para tus autores? Puedes hacerlo gracias al filtro the_editor_content.

Ejemplo: Dejar recordatorios para tus autores

Creemos este ejemplo de “dejar notas para los autores”: si tienes un conjunto de cosas que recordar a las personas que escriben en tu blog, puedes rellenar el editor de la entrada con HTML usando este código:

Cambia la variable $template por cualquier cosa que quieras y ¡ya lo tienes listo!

Fin de la segunda parte

En este artículo ya hemos acabado la segunda ronda de 50 filtros. Espero que te haya gustado y hayas aprendido algo nuevo. ¡Nos vemos en el próximo!

También me gustaría saber tu opinión. ¿Qué te parecen estos filtros? Déjanos tus comentarios 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.