Ganchos de WordPress para ejecutar justo antes de cualquier acción o carga de página

3 minutos de lectura

Soy bastante nuevo en WP. La tarea es desarrollar un complemento para la autenticación OAuth en uno de los proveedores de OpenID no populares. Hice lo mismo para el proyecto CodeIgniter, pero WP es un CMS y es un poco complejo de entender para mí. En Codeigniter verifico la autorización antes de cada acción. En WP necesito un gancho que lo use… antes de imprimir cada página, o tal vez… sería correcto decir antes de cada acción en términos de marcos. ¿Cómo se llama este anzuelo?

El último gancho antes de cargar la plantilla es template_redirect

Puedes usarlo así:

function my_function(){
    // your code goes here
}
add_action( "template_redirect", "my_function" );

  • No sé por qué, pero el gancho “init” se ejecuta dos veces, y “template_redirect” ejecuta solo una, gracias.

    – rafaelfndev

    19 de febrero de 2019 a las 14:33

Puede usar el gancho ‘init’. Se realizará antes del elemento o código html. También es útil para administrar las variables POST y GET. La sintaxis es algo como esto:

function yourfunction() {
    dosomething();
}
add_action('init', yourfunction);

  • El segundo parámetro es una cadena. Quizás esto ha cambiado desde esta respuesta.

    – objeto de peluche

    29 dic 2016 a las 20:20

  • Rechacé esto porque hay un gancho que se activa “justo antes” de la carga de la página y no es “init”. Es “template_redirect”. Creé una nueva respuesta para esto.

    – Marc van Nieuwenhuijzen

    23 de febrero de 2017 a las 11:11

Puede encontrar una lista de todos los ganchos disponibles aquí: https://codex.wordpress.org/Plugin_API/Action_Reference

Información sobre ganchos: https://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters

Se deben sugerir otros ganchos y se agregarán en una versión futura si es una buena sugerencia. O tendrías que editar los archivos principales;)

  • Navegué por estas páginas en Codex antes de preguntar aquí. Y no pude encontrar ningún gancho adecuado. Necesito algo que se ejecutará justo antes de cualquier acción (en términos de marcos).

    – Chica de fábrica

    11 de abril de 2013 a las 12:19

  • ¿Por qué debería necesitar ejecutar esa b4 cualquier acción? solo para entender el punto, desea ejecutar la verificación al comienzo de todo … no ejecutarla una vez antes de cada acción posible (1000 veces;)), si desea ejecutarla en el punto más temprano posible, sugiero loop_start o init

    – Xavjer

    11 de abril de 2013 a las 12:31

  • ¿Quizás haya algún gancho disponible para llamar antes de cargar cada página?

    – Chica de fábrica

    11 de abril de 2013 a las 12:42

  • ¿Qué tal muplugins_loaded? Después de cargar los complementos imprescindibles (este es el enlace más antiguo que podría usar, [the order of the hooks is the order in which they are called)

    – Xavjer

    Apr 11, 2013 at 12:59


  • This hook is used before loading each page?

    – Factory Girl

    Apr 11, 2013 at 13:01

You mean a hook when all wordpress function will available but before any output including headers sent?

Well hook your function on init. That will call when visiting site. If you want this hook only for admin area then it is admin_init.

¿Ha sido útil esta solución?