Ich habe diese JS-function als “myjsfunction ()” benannt.
function myjsfunction() { jQuery('#html_admin_show').hide(); jQuery('#html_admin_edit').show(); }
Eine Einschränkung ist, dass ich die ursprüngliche JS-function nicht bearbeiten kann, um einige PHP-Tags usw. zu setzen.
Wie ist es möglich, diese JS-function in einem WordPress do_action-Hook aufzurufen?
Ich ziehe es vor, es als dritten Parameter hinzuzufügen, weil ich bereits den zweiten Parameter verwende, also etwas wie:
do_action('myhelp', 'mysecondfunction', 'myjsfunction');
Es zeigt jedoch nicht das Element #html_admin_edit, wenn die Seite ausgeführt wird. Irgendwelche Ideen, wie man diese function nennt?
Vielen Dank.
Zuerst muss Ihr Callback PHP sein:
function myjsfunction_callback() { ?> < ?php }
Zweitens können Sie mehrere Callbacks zu einer Aktion hinzufügen:
add_action( 'myhelp', 'myjsfunction_callback' ); add_action( 'myhelp', 'mysecondfunction' );
Jetzt können Sie do_action()
ohne Parameter aufrufen ...
do_action( 'myhelp' );
... und beide Callbacks werden ausgeführt.
Ich antworte auf Ihren Kommentar: Sie können nur einen callback verwenden:
do_action( 'myhelp', 'mysecondfunction', 'myjsfunction_callback' );
Sie müssen dann einen eher abstrakten Callback verwenden und weitere Parameter akzeptieren:
add_action( 'myhelp', 'multicall', 10, 99 ); function multicall() { $functions = func_get_args(); foreach ( $functions as $function ) { if ( function_exists( $function ) ) $function(); } }
Jetzt können Sie bis zu 99 functionsnamen übergeben, und alle werden für diese Aktion ausgeführt.