Saltar al contenido principal




¿Algún momento has oído hablar de WordPress? Funciones conectables? Caso contrario, este post debería llamar su atención. En dos palabras, las funciones conectables son WordPress funciones principales que puede anular. Todas estas funciones se encuentran en un solo archivo: «wp-includes / pluggable.php“. Las funciones conectables se introdujeron en WordPress 1.5.1, pero en las versiones más recientes de WordPress este método ya no se utiliza. Las funciones recientes ahora utilizan filtros en su salida. Pero todavía puede anular las funciones conectables, y esto es lo que me agradaría cubrir en esta publicación.

¿Qué funciones?

Las funciones conectables son:

Puede hacer un clic en el nombre de cada función para ingresar a su página de códice.

Cómo anular funciones conectables

Bueno, esto es bastante simple, solo debes hacer crear un archivo dentro de tus complementos que contenga una declaración «if (! Function_exists ()) …» y después volver a establecer la función. Le recomiendo encarecidamente que copie y pegue la función original cuando comience. De este modo, está seguro de que la función funcionará. Aquí hay un ejemplo vacío:

if ( ! function_exists('wp_notify_postauthor') ) :
/**
 * Notify an author of a comment/trackback/pingback to one of their artículos.
 *
 * @since 1.0.0
 *
 * @param int $comment_id Comment ID
 * @param string $comment_type Optional. The comment type either 'comment' (default), 'trackback', or 'pingback'
 * @return bool False if user correo electrónico does not exist. True on completion.
 */
function wp_notify_postauthor( $comment_id, $comment_type = '' ) {

/* This is where you redefine the function */

}
endif;

Me agradaría hablar sobre la función «wp_notify_postauthor ()». Este es el responsable de enviar un email a los autores de la publicación cuando se agrega un nuevo comentario. En uno de mis complementos, el Administrador de problemas de WordPress, necesitaba inhabilitar esta notificación, pero solo un tipo de publicación personalizada específica. Entonces, copié toda la función y básicamente agregué esto:

if ( ! function_exists('wp_notify_postauthor') ) :
/**
 * Notify an author of a comment/trackback/pingback to one of their artículos.
 *
 * @since 1.0.0
 *
 * @param int $comment_id Comment ID
 * @param string $comment_type Optional. The comment type either 'comment' (default), 'trackback', or 'pingback'
 * @return bool False if user correo electrónico does not exist. True on completion.
 */
function wp_notify_postauthor( $comment_id, $comment_type = '' ) {

if( $post->post_type != 'issue'):

/* content of the original function */

endif;

}
endif;

Eso es simple, pero funciona muy bien sin tener que hacer grandes cambios o crear una función personalizada completa vinculada a una acción personalizada.

wp_mail ()

Como vio en el listado de funciones conectables, wp_mail () es una función conectable. Esta función es la que se usa para enviar correos electrónicos. En cualquier lugar de WordPress, cuando se envía un email, se usa esta función. Es por esto que personalizarlo puede resultar muy interesante. Por ejemplo, puede utilizar una plantilla html predeterminada para todos los correos electrónicos enviados desde su instalación de WordPress.

Además puede enviar una copia oculta de cada mensaje a un email específico para tener una especie de respaldo (créame, esto puede ser útil cuando alguien le dice que no recibió el mensaje).

wp_authenticate ()

Además puede modificar wp_authenticate () y agregar algunos parámetros adicionales para reforzar la seguridad en su sitio (ataques de fuerza bruta, por ejemplo).

auth_redirect ()

Esta función es la que comprueba si un usuario está conectado y, en de lo contrario, lo redirige a la página de inicio de sesión. Sería bastante sencillo anular la función y redirigir al usuario a una página personalizada, en lugar de la página de inicio de sesión predeterminada (por ejemplo, si desea esconder la carpeta wp-admin).

wp_generate_password ()

Esta función es la que genera de forma automática las contraseñas. Honestamente, no requiere modificarlo, pero ahora que sabe qué son los ataques de fuerza bruta, podría estar interesado en crear contraseñas más seguras. Bueno, esta es la función a mejorar.

Conclusión

Para concluir esta breve publicación sobre las funciones conectables de WordPress, me agradaría destacar el hecho de que las nuevas funciones ya no funcionan así. Como escribí anteriormente, ahora están utilizando filtros. Pero las funciones conectables son funciones importantes en particular cuando se crean complementos verdaderamente específicos. Pero tenga cuidado al utilizar funciones conectables. Si la función recién creada no funciona estupendamente, puede romper una parte de su portal web (en términos de funcionalidad), por lo tanto pruébelos en todas las condiciones.