Cómo usar do_action() con parámetros

14 nov 2012, 22:10:13
Vistas: 24.9K
Votos: 7

Estoy intentando activar una acción en functions.php con la función do_action(), pero parece que necesito un atributo.

Lo siguiente

do_action( 'really_simple_share button="facebook_like"');

no funciona...

¿Podrían decirme la forma correcta de hacerlo funcionar? (He intentado muchas otras cosas que tampoco funcionaron).

1
Comentarios

¿te refieres a do_shortcode('[really_simple_share button="facebook_like"]'); ?

Oleg Butuzov Oleg Butuzov
14 nov 2012 22:33:18
Todas las respuestas a la pregunta 2
3
21

La forma correcta es pasar el primer argumento como una cadena única que actúa como identificador para la acción y cualquier argumento adicional después de ese

do_action('unique_action_tag', $parameter1, $parameter2,,,, & así sucesivamente);

Para adjuntar funciones a esta acción harías

// 10 es la prioridad, un número mayor significa que se ejecuta primero
// 2 es el número de argumentos que la función puede aceptar
add_action('unique_action_tag', 'my_custom_function', 10, 2)
function my_custom_function($param1, $param2) {
    // hacer algo
}
14 nov 2012 22:39:11
Comentarios

¿puedes hacerlo con MI acción?

menardmam menardmam
14 nov 2012 23:25:41

Te refieres a $button = 'facebook_like'; do_action('really_simple_share', $button);. Luego en "functions.php" add_action('really_simple_share', 'my_function'); function my_function($button) { // hacer algo }

Mridul Aggarwal Mridul Aggarwal
14 nov 2012 23:33:57

Gracias - esto fue útil. Encontré la documentación aquí: https://developer.wordpress.org/reference/functions/do_action/

Dave Dave
2 oct 2017 07:14:22
0

Echa un vistazo a este ticket, allí hay un enfoque de ejemplo para solucionar esto.

14 nov 2012 23:21:15