15 útiles funciones de WordPress que todo desarrollador debe conocer

WordPress está lleno de excelentes funciones para que los desarrolladores las usemos. Podemos sacar listas de publicaciones de la nada, manipular casi todo sobre ellas, captar a cualquier usuario que deseemos y mostrar sus conexiones de redes sociales en un santiamén.

Sin embargo, hay bastantes funciones que parecen pasarse por alto por razones desconocidas. ¡Llevo 8 años codificando con WordPress y ocasionalmente encuentro algo nuevo! Echemos un vistazo a algunas de mis funciones olvidadas favoritas y aprende cómo usarlas en el camino.

 1. antispambot ()

Por lo general, levanto algunas cejas con esta, parece ser una de las funciones mejor ocultas en el código base. <code>antispambot()</code> reemplaza los caracteres con entidades HTML, que es una forma de enmascarar direcciones de correo electrónico de astuto scrapers.

Si bien este es un dato útil, también es un ejemplo de por qué algunas personas critican a WordPress: esta es una función horriblemente nombrada. Al leer el nombre de la función, no tienes idea de lo que hace.

2. human_time_diff()

Cuando supe por primera vez sobre esta función, hace aproximadamente un año, pensé que debía haber sido una adición reciente que pasé por alto en un registro de cambios. No exactamente…

Esta función, que genera la diferencia entre dos marcas de tiempo, ha estado activa desde la versión 1.5 (¡eso es el 17 de febrero de 2018!).

El siguiente fragmento excelente que tomé prestado de codex muestra cuánto tiempo hace que se publicó un post actual. Utiliza la fecha de publicación de la publicación como primer argumento y la fecha actual como el segundo.

3. get_post_meta()

Ten paciencia conmigo, sé que esta es una función bien utilizada, sin embargo, cómo funciona no es un conocimiento tan común. En primer lugar, al omitir el segundo y el tercer parámetro, puedes extraer todos los metadatos de una publicación.

Incluso si solo toma los datos para una sola clave, todos los postmeta se extraen de todos modos.

La razón es bastante lógica. Los metadatos se usan en varios lugares. Si <code>get_post_meta()</code> consulta la base de datos cada vez que se utilizó, terminaríamos con demasiadas consultas. En cambio, si extraes metadatos, los almacenas en caché y usas los valores almacenados en caché en todas las recuperaciones de metadatos posteriores.

4. wp_upload_bits()

Esta función es una función directa de carga de archivos. Si bien no mueve el archivo a la carpeta de cargas ni lo agrega a la sección multimedia de WordPress, es extremadamente conveniente y siempre puedes hacer el resto con la función <code>wp_insert_attachment()</code>.

Hay alguna explicación para esto: el primer parámetro es el nombre del archivo. El segundo se deprecia, por lo que debe establecerse en nulo (ojo con la consistencia de WordPress). El tercer parámetro es el contenido real del archivo.

5. get_post_field()

En el pasado, vi bastantes ejemplos en los que alguien escribió un bucle para obtener un recuento de comentarios para una publicación, o escribió una consulta de base de datos dedicada para ello. No los necesitas, lo que necesitas es <code>get_post_field()</code>. Esta función recupera el valor de un solo campo para una sola publicación en la base de datos. ¡Hagamos un recuento de comentarios!

6. wpautop()

Esta función ha salido a la luz un poco, pero aún es relativamente desconocida. Es similar al nativo de PHP nl2br pero en lugar de crear nuevas líneas, envuelve su contenido en párrafos.

Esto es útil si tienes un cuadro de texto y deseas asegurarte de que cuando los usuarios crean párrafos con saltos de línea dobles, también permanezcan visibles en el front-end.

7. wp_is_mobile()

Esta función correctamente nombrada detecta cuando un usuario está en un dispositivo móvil y te permite mostrar contenido en consecuencia. Como se trata de una etiqueta condicional, devuelve verdadero o falso según el escenario.

8. wp_redirect()

El último ejemplo muestra otra función ordenada: <code>wp_redirect()</code>. Esto debe usarse en lugar de la función nativa de PHP <code>header()</code>. La función de redirección de WordPress te permite configurar una URL para redirigir, y también establecer un código de estado, ideal para manejar redirecciones permanentes también.

9. paginate_links()

Apuesto a que esta función debe su oscuridad en parte a la popularidad del plugin WP-PageNavi. Por defecto, WordPress muestra enlaces anteriores/siguientes al final de tu lista de publicaciones. WP-PageNavi reemplaza eso con números de página.

En realidad, esto se puede hacer con un poco de trabajo utilizando las funciones <code>paginate_links(</code>. Tiene bastantes parámetros, así que recomiendo echar un vistazo a la documentación.

El siguiente ejemplo de codex muestra cómo puedes agregarlo a un bucle predeterminado, pero agregarlo a bucles personalizados no es demasiado difícil.

10. wp_die()

Esta función complementa la función PHP die(). La diferencia es que esta función mostrará un HTML con estilo de WordPress en lugar de solo un texto sin formato. Puedes usar esta función para detener la ejecución de PHP. Puedes agregar el mensaje, el título y los argumentos adicionales que se mostrarán, por ejemplo:

11. has_block()

En la versión 5.0, WordPress introdujo un editor basado en bloques, con nombre en código Gutenberg. Esta función identificará si el contenido contiene un Gutenberg, lo mismo con la función has_shortcode(). Volverá true si el contenido contiene un bloque, o false si no lo tiene.

12. wp_set_script_translations()

Dado que muchas partes de la interfaz de usuario de WordPress se moverán a JavaScript, necesitas una forma conveniente de registrar textos traducibles en JavaScript que WordPress pueda analizar y comprender. Puedes usar esta función para establecer cadenas traducidas para tus scripts. A continuación, se muestra un ejemplo:

13. register_block_type ()

Otra función destacada en WordPress 5.0. Esta función te permite registrar un nuevo bloque en el nuevo editor de WordPress. Tu bloque aparecerá en el nuevo editor y lo insertará.

14. rest_do_request ()

Esta función te permite realizar una llamada a los puntos finales de la API REST de WordPress a través de PHP. Bastante útil cuando necesitas recuperar una salida de la API REST para procesar. Salida que se procesará más en el lado de PHP en lugar de en el lado del navegador (front-end).

15. rest_preload_api_request()

Cuando se construye una interfaz de usuario con JavaScript en WordPress, generalmente se necesita un conjunto de datos iniciales cargados dentro de la página. Esta es la función que te permitirá hacerlo. Esta función está destinada a ser utilizada junto con array_reduce, por ejemplo.

Conclusión

Estas son solo algunas funciones que parecen ser menos conocidas que el resto. Descubro una nueva función excelente cada dos meses y estoy seguro de que mis amigos desarrolladores podrían sorprendernos aún más con sus descubrimientos.