Загруженные в очередь скрипты и стили также загружаются в панель управления WordPress


На мгновение я задумался, не был ли взломан мой тестовый сайт - панель управления моего сайта WordPress была полностью сломана (косметически). Но когда я посмотрел на исходный код страницы, я заметил, что "сценарии и стили", которые я поставил в очередь для внешнего интерфейса, также были поставлены в очередь и в бэкэнде.

Вот как я это сделал:

add_action('init','wpse54189_register_script');
function wpse54189_register_script(){

    wp_register_script( 'aahan_bootstrap_transition', get_template_directory_uri().'/js/bootstrap-transition.js');
    wp_register_script( 'aahan_bootstrap_carousel', get_template_directory_uri().'/js/bootstrap-carousel.js');
    wp_register_script( 'aahan_bootstrap_carousel_cycler', get_template_directory_uri().'/js/bootstrap-carousel-cycler.js', array('jquery', 'aahan_bootstrap_transition', 'aahan_bootstrap_carousel'));
    wp_enqueue_script( 'aahan_bootstrap_carousel_cycler' );

    wp_enqueue_script( 'comment-reply' );

    wp_register_script( 'aahan_ajax_comment', get_template_directory_uri().'/js/no-reload-comments.js', array('jquery'));
    wp_localize_script( 'aahan_ajax_comment', 'yjlSettings', array(
         'gifUrl'=> get_template_directory_uri().'/images/ajax-loader.gif',
         'autoGrow'=> 'enable'
    ));
    wp_enqueue_script( 'aahan_ajax_comment' );

}

add_action('init','aahan_register_style');
function aahan_register_style(){
    wp_register_style( 'aahan_webfonts_stylesheet', get_template_directory_uri().'/font/font.css');
    wp_register_style( 'aahan_main_stylesheet', get_template_directory_uri().'/style.css', array('aahan_webfonts_stylesheet'));
    wp_enqueue_style( 'aahan_main_stylesheet' );
}

Что здесь может быть не так?

Author: its_me, 2012-06-06

2 answers

Действие "инициализация" выполняется как при загрузке внешней страницы, так и при загрузке внутренней страницы.

Попробуйте вместо этого подключить их к действию "wp_enqueue_scripts". Я считаю, что он не запускается при загрузке страницы администратора.

Пример кода: (По OP)

function wpse54388_scripts_styles() {

    wp_enqueue_style( ... );

    wp_enqueue_script( ... );

}
add_action( 'wp_enqueue_scripts', 'wpse54388_scripts_styles' );
 4
Author: MathSmath, 2013-01-10 17:37:56

Просто добавьте условие

if( is_admin() ) return;

Таким образом, у вас будет

add_action('init','wpse54189_register_script');
function wpse54189_register_script(){
    if( is_admin() ) return;
.....
}

add_action('init','aahan_register_style');
function aahan_register_style(){

    if( is_admin() ) return;
.....
}
 0
Author: tamilsweet, 2012-06-06 17:42:11