Si desea saber si está en una página específica, en una publicación, en un archivo de categorías, etc., entonces el núcleo tiene que ofrecer Etiquetas condicionales para esto.
Si desea enganchar una definición de script js, entonces una mejor manera de hacerlo es la siguiente:
// Assuming that you drop your js code into a separate file instead of just between <script>-tags
// 1st: Register during init hook
function add_my_script()
{
wp_register_script( $name, $url, $dependency, filemtime( $path ), true )
}
add_action( 'init', 'add_my_script' );
// 2nd: Enqueue during enqueue hook
function enqueue_my_script()
{
// Choose your conditions:
// On Admin, check against "global $hook_suffix, $pagenow, $typenow"
if ( 'post-new.php' !== $typenow )
return;
// On public pages, choose your conditions from the list of Conditional Tags
// Example: Only on pages
if ( ! is_page() )
return;
// ...Nothing to do on login
// print the script to the screen
wp_enqueue_script( $name );
}
// Choose where you need it
add_action( 'wp_enqueue_scripts', 'enqueue_my_script' );
add_action( 'admin_enqueue_scripts', 'enqueue_my_script' );
add_action( 'login_enqueue_scripts', 'enqueue_my_script' );
EDIT
Puede resumir / recopilar todas sus pequeñas funciones, que se enganchan en alguna parte y ponen las llamadas add_action
en una función que se carga en el primer enlace que está disponible para los temas: after_setup_theme
. Es importante que las funciones de los temas secundarios se carguen primero, luego los temas principales y luego el gancho after_setup_theme
. Por lo tanto, puede dejar abierta la posibilidad de cambiar las cosas desde su tema principal o secundario.
function theme_bootstrap_fn()
{
add_action( 'wp_head', 'js_func' );
// other functiony things
}
add_action( 'after_setup_theme', 'theme_bootstrap_fn' );
// Define your function:
function js_func()
{
echo "
<script type='text/javascript>
// do stuff
// Add variables like this:
{$some_var}
</script>";
}
Pero para responder a su pregunta: Sí, puede llamar a todas las funciones globales dentro de otra función.