¿Qué son los hooks de WordPress?
Los "ganchos" de WordPress le ofrecen la flexibilidad de añadir o cambiar funcionalidades a su sitio web sin modificar el código central. Los hooks son como interfaces especiales que se instalan en puntos clave del programa y te permiten insertar tu propio código o modificar el existente.
Finalidad del gancho
Los hooks son herramientas que le permiten añadir o ajustar funcionalidades a su sitio web mediante la ejecución automática de funciones específicas sin modificar el código principal de WordPress. Existen dos tipos de hooks:
- Ganchos de acción: Estos tipos de hooks le permiten ejecutar código en un punto específico de WordPress, como añadir datos o cambiar el funcionamiento del sitio. Los hooks de acción solo realizan tareas y no devuelven ningún resultado al usuario.
- Ganchos de filtro: Este tipo de ganchos le permiten modificar datos a medida que WordPress los procesa y devolver los datos modificados al usuario.
Los hooks de acción se utilizan para "hacer cosas", como añadir nuevas funciones, mientras que los hooks de filtro se utilizan para "cambiar cosas", como ajustar la forma en que se muestra el contenido existente. Con los hooks, puedes integrar fácilmente código personalizado, como JavaScript, en tu sitio web para hacerlo más personalizable.
Esto es lo que será mytheme_scriptComparación de funciones conwp_enqueue_scriptsEjemplo de gancho de operación al que se conecta una operación.
función mytheme_script()
{wp_enqueue_script('mi-script-personalizado', get_template_directory_uri() . '/js/custom-script.js', array(), '1.0.0', true);
}}
add_action( 'wp_enqueue_scripts', 'mytheme_script' );
El uso de los hooks de WordPress te permite personalizar y mejorar la funcionalidad de tu sitio web, lo que requiere unos conocimientos básicos de HTML y PHP. Pero no te preocupes, incluso los recién llegados a WordPress pueden aprender a crear y utilizar estos hooks con relativa facilidad.
Crear ganchos de operación: Los ganchos de acción le permiten ejecutar automáticamente código en momentos específicos de su sitio web. Para crear un gancho de acción, debe utilizar la función add_action()
función. Esta función suele añadirse a la sección funciones.php
archivo. He aquí un ejemplo de cómo añadir un gancho de acción:
add_action( $target_hook, $el_nombre_de_la_función_que_desea_utilizar, $priority, $accepted_args );
function mi_funcion_personalizada($arg1) {
// Escriba aquí el código de su función
echo "Función con argumento: " . $arg1.
}
// Engancha la función al hook 'wp_loaded' con prioridad 5 (ejecutado anteriormente) y acepta un argumento
add_action('wp_loaded', 'my_custom_function', 5, 1);
mi_función_personalizada
es una función que hemos definido para que se ejecute automáticamente cuando WordPress esté completamente cargado. Hacemos que se ejecute antes estableciendo la prioridad a 5, y la función está configurada para tomar un parámetro. Este enfoque le da la flexibilidad para añadir o modificar la funcionalidad de su sitio sin cambiar el código central.
Creación de ganchos de filtro
En WordPress, puede utilizar la función add_filter()
para crear ganchos de filtro. Estos ganchos se utilizan principalmente para modificar o filtrar datos, como ajustar la salida de texto o cambiar el valor de un ajuste.
Cuando se utilizan ganchos de filtro, se especifica un valor ya existente para modificarlo. Esto se suele hacer mediante la función aplicar_filtros()
llama a tu función personalizada mientras procesa los datos, permitiéndote modificar o reemplazar los datos originales.
Aquí hay uno para añadir a un tema de WordPress (como el tema Twenty Twenty-Three) funciones.php
Ejemplo de gancho de filtro en un fichero:
function modify_excerpt_length($length) {
return 20; }
}
// Engancha la función 'modify_excerpt_length' al hook 'excerpt_length' usando la función add_filter
add_filter('excerpt_length', 'modify_excerpt_length');
En este ejemplo, elmodify_excerpt_length
se utiliza para modificar la longitud por defecto del resumen de un artículo de WordPress. Modificamos la longitud por defecto del resumen de un artículo de WordPress mediante la función add_filter()
conecta esta función personalizada a la función longitud_extracto
en un gancho que controla la longitud del resumen. Cuando WordPress solicite la longitud del resumen, utilizará el nuevo valor que especifique (en este caso 20 palabras), sustituyendo así la configuración original por defecto.
Si se encuentra en una situación en la que necesita anular o desactivar un programa previamente aprobado add_action()
tal vez add_filter()
Para añadir acciones y filtros, puede utilizar la función eliminar_acción()
responder cantando eliminar_filtro()
para hacerlo. A continuación se explica cómo utilizar la función eliminar_acción()
Un ejemplo de ello:
remove_action('ejemplo_accion', 'ejemplo_funcion', 10);
En este ejemplo, elejemplo_accion
es un gancho de acción que se añadió anteriormente.función_ejemplo
es la función enganchada a este gancho, y la función 10
es la prioridad utilizada al añadir esta operación. Al llamar a la función eliminar_acción()
Cuando lo haga, deberá especificar el mismo nombre de gancho, nombre de función y prioridad para garantizar una cancelación correcta.
leer más abajoeliminar_filtro()Un ejemplo de ello:
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
El ejemplo muestra cómo desactivar elwp_staticize_emoji_for_emailConvierte emoticonos en imágenes estáticas.A continuación, utiliza disable_emojis_tinymceSustitúyalos, lo que desactivará la función emoji en WordPress.
Puede utilizar la funcióneliminar_filtro()desactiva varios filtros en secuencia. Este es un ejemplo:
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' )
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
add_action( 'init', 'disable_emojis' );
}
El código anterior está diseñado para eliminar la función emoji en WordPress. Ilustra que los usuarios pueden añadir emoticonos a la etiquetafunciones.phpCuántos incrustados en el archivoeliminar_filtroNo hay restricciones para el comando.
Ejemplos útiles de ganchos de WordPress
El uso de este gancho suele implicar tres parámetros:$amaño
(matemáticas) género$thumbnail_id
responder cantando $post
. Toma. $amaño
es el tamaño de la visualización de la imagen destacada.$thumbnail_id
es el ID de la imagen destacada, y $post
Entonces es el objeto del puesto en cuestión.
$size = apply_filters( 'admin_post_thumbnail_size', $size, $thumbnail_id, $post );
Puede modificarlo según sus necesidades$amañoParámetros. Por ejemplo, para establecer el tamaño de la miniatura en 220 x 220 píxeles, utilice el siguiente código:
$size = apply_filters( 'admin_post_thumbnail_size', 220, $thumbnail_id, $post);
También es posible añadirarray()para establecer el tamaño personalizado de la miniatura. El código se muestra a continuación:
$size = apply_filters( 'admin_post_thumbnail_size', array(220, 400), $thumbnail_id, $post);
La matriz anterior ()La función establece que la miniatura se muestre a 220 x 400 píxeles.
Después de restablecer la contraseña
Este gancho de acción se activa cuando el usuario restablece la contraseña. Este hook consta de dos parámetros:$userresponder cantando$new_passcomo se muestra a continuación:
do_action( 'after_password_reset', $user, $new_pass );
Por ejemplo, WordPress combina este hook con elreset_password()se utilizan en combinación.
Componentes de carga personalizados
El diseño básico de WordPress no aboga por la modificación directa o la exclusión completa de los archivos principales, como el archivo wp-activate.php
ywp-config-sample.php
tal vez wp-configuración.php
advertenciapersonalizar_componentes_cargadosno puede añadirse al tema porque sólo está disponible en la secciónplugins_cargadosActivación del escenario.
El gancho consta de dos parámetros:$componentesresponder cantando$this.Como se muestra a continuación:
$components = apply_filters( 'customize_loaded_components', array( 'widgets', 'nav_menus' ), $this );
$componenteses el lote de funciones básicas que se van a cargar, y el parámetro$estose refiere a un objeto de una clase existente.
Personalizablearray()para determinar qué componentes excluir. El ejemplo anterior muestra los widgets ynav_menusExcluidos del proceso central.
llegar a un veredicto
La flexibilidad y la potencia de los hooks permiten a los usuarios de WordPress perfeccionar sus sitios web añadiendo funciones personalizadas o desactivando procesos específicos sin tener que modificar ningún archivo del núcleo. Esto hace que los hooks de WordPress sean ideales para ampliar y personalizar sitios web.