J'ai un script qui se charge dans l'admin. Je n'ai besoin que de le charger sur le nouveau message et de modifier les écrans de messages.
Quelle est la meilleure façon de procéder?
Consultez la page et mettez votre script en file d'attente en conséquence:
global $pagenow;
if (! empty($pagenow) && ('post-new.php' === $pagenow || 'post.php' === $pagenow ))
add_action('admin_enqueue_scripts', 'enqueue_my_scripts');
function enqueue_my_scripts() {
wp_enqueue_script(...);
} // function enqueue_my_scripts
La variable globale $hook_suffix
est:
post-new.php
pour le nouveau poste etpost.php
pour l'éditeur de message régulierDans wp-admin/admin-header.php
, il y a des crochets spéciaux:
do_action('admin_enqueue_scripts', $hook_suffix);
do_action("admin_print_styles-$hook_suffix");
do_action('admin_print_styles');
do_action("admin_print_scripts-$hook_suffix");
do_action('admin_print_scripts');
do_action("admin_head-$hook_suffix");
do_action('admin_head');
Vous pouvez donc utiliser admin_print_styles-$hook_suffix
, dans vos cas:
add_action( 'admin_print_scripts-post-new.php', 'your_prefix_enqueue_scripts' );
add_action( 'admin_print_scripts-post.php', 'your_prefix_enqueue_scripts' );
Pour trouver le $hook_suffix
correct pour n'importe quelle page d'administration, utilisez quelque chose comme ceci:
add_action( 'admin_footer', 'print_hook_suffix' );
function print_hook_suffix()
{
global $hook_suffix;
print '$hook_suffix: ' . $hook_suffix;
}