Off the Hook: práctico usos de remove_action () y remove_filter ()

El artículo de hoy continúa nuestra discusión sobre el sistema de ganchos de WordPress con una mirada práctica al opuesto directo de add_action () y add_filter (): remove_action () y remove_filter (). Acerca de remove_action () y remove_filter () antes de decirle cómo usar estas funciones, hable sobre qué y cuándo. Para lo que bueno, remove_action () y remove_filter () tienen solo un propósito: cancelar las llamadas existentes a add_action () y add_filter (). Remove_action () y remove_filter () tiene un propósito: cancelar las llamadas existentes a add_action () y add_filter () en algún lugar de su código de sitio
En otras palabras, alguien que escribió el código que ejecutó pensó que tenía que ejecutar una determinada función o función de filtro y decir: “No, no lo es”. Por qué usarlos en lugar de eliminar las cosas remove_action () y remove_filter () le permite dictar la funcionalidad que desea en su sitio, al mismo tiempo, para actualizar temas y complementos de terceros. Entonces, ¿por qué usaría remove_action () y remove_filter () en lugar de eliminar solo el original add_action () o add_filter ()? Bueno, si es todo su propio código, probablemente debería simplemente eliminar las funciones conectadas que ya no tiene la intención de usar. Pero en WordPress, a menudo trabaja con el código de otras personas, tanto temas como complementos, y es mejor no alcanzar ese código o perderá los cambios cuando esté actualizado. Entonces, eliminar_ACTION () y eliminar_filter () son útiles para imponer solo la funcionalidad que desea en su sitio, al tiempo que preserva los temas y complementos que se ejecutan actualizables.
Remove_action () y eliminar_filter () no son terriblemente comunes en mi trabajo diario. Dicho esto, encuentro que remove_action () y eliminar_filter () no son terriblemente comunes en mi trabajo diario. Son más comunes en los sistemas súper inguardados, como Genesis Framework o WooCommerce, y, de hecho, los ejemplos de la vida real a continuación provienen de WooCommerce. ¡Vamos a ver! Un ejemplo práctico de remove_action () El caso más inmediato que encontré para remove_action () es eliminar las imágenes de los productos del WooCommerce. WooCommerce es un poderoso sistema basado en eventos, y eliminar las imágenes del producto no es un proceso de edición de plantillas, sino con la desconexión de funciones. Echamos un vistazo al código y los resultados: remove_action (‘wooCommerce_before_shop_loop_item_itle’, ‘wooCommerce_template_thul_troduce_thul); El código anterior cambia para mostrar la página de la tienda principal en este:
En eso:

Argumentos remove_action () Como puede ver, remove_action () tiene dos argumentos necesarios:

El nombre del gancho de acción que te interesa
El nombre de la función que desea desconectar
También hay un tercer valor opcional, que es un entero para la “prioridad” de la función que está buscando. Si no especifica este tercer valor, esto está implícito en una prioridad de 10, que también es la prioridad predeterminada si llama a Add_Action () sin especificar la prioridad. (Si esta discusión lo confunde, vea un poco sobre la prioridad de la entrada de Codex en add_action ().).
En conclusión, si la add_action () original incluye un tercer argumento, también lo necesitará.De lo contrario, si, por ejemplo, add_action () se aferra a una función de prioridad 999, significa que está configurado para conectarse después de remove_action () lo está buscando, lo que significa que remove_ction () no hará nada.El bit que es un poco extraño sobre el tercer argumento de remove_action () es que si especifica este tercer valor, debe especificar la prioridad exacta de la llamada inicial.Por lo tanto, no puede simplemente establecer la prioridad en 10 y eliminar add_action () si es “10 o anterior” o “999 o anterior”: 10 solo eliminará add_action () con la prioridad 10, y 999 eliminará solo las llamadas.con prioridad 999.

Un ejemplo práctico de remove_filter () permanecemos con WooCommerce. WooCommerce a menudo no quiere que las personas sepan que están en WordPress, así que use una función de filtro llamada wc_lostpasword_url () para redirigir “¿ha perdido su contraseña?” Solicitudes de wp-login.php a /my -count /Lost-Pathword, en el front-end del sitio. Echemos un vistazo a wc_lostpaswore_url () del código wooCommerce:/ * Ubicación: wooCommerce/incusion/wc-acuntfunctions.php */function wc_lostpasword_url ($ default_url = ” ‘) {wc_pssword If (false! == $ wc_password_reset_url) {return wc_get_endpoint_url (‘Lost-password’, ”, $ wc_password_reset_url); } else {return $ default_url; }} add_filter (‘Lostpassword_url’, ‘wc_lospassword_url’, 10, 1); Esta característica se conecta al filtro WordPress LostPassword_url. Filma la URL inicial de recuperación de la contraseña del administrador y la reemplaza con una URL en su elección. El resultado final se ve así: eliminar el filtro suponga que no queremos ejecutar ese filtro. En cambio, queremos que nuestros usuarios accedan a la página original de recuperación de contraseña de WordPress. Simplemente escribimos lo siguiente en nuestras funciones.php.php: remve_filter (‘Lostpassword_url’, ‘wc_lospassword_url’); Ahora, cuando indica que ha perdido su contraseña en el sitio, está dirigido aquí:
Por supuesto, después de eliminar el filtro WooCommerce, puede agregar su propio filtro que lleva al usuario a cualquier parte, incluso en http://google.com. Pero la eliminación del filtro de redirección de WooCommerce es el primer paso.

Remove_filter () argumentos.Remove_filter () es casi idéntico a remove_action ().Los dos argumentos necesarios son: el nombre del gancho de filtro que le interesa

El nombre de la función que desea desconectar
También puede especificar un tercer argumento, la prioridad con la que se conectó la función.Debemos saltar sobre esto en este caso, porque WC_LOSTPASSWORD_URL () está conectado a la prioridad predeterminada de 10.Este breve artículo explicó los usos de Remove_Ction y Remove_Filter y ofreció algunas demostraciones prácticas.Para un aspecto más detallado, puede ver nuestro curso: una introducción completa al sistema de ganchos de WordPress.Esperamos que se sienta seguro de desconectar las cosas según sea necesario en su propio sitio.¡Gracias por leer!

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *