Извечная проблема у LayerSlider - загружать свои скрипты и стили на всех страницах сайта не зависимо от того используется ли он или нет. Нашлось решение в виде доп.функции, которое проверяет наличие шорткода в теле поста и если не находит - отключает скрипты и стили. Код немного доработан под одну из последних версий:
/** * Load LayerSlider Scripts only when shortcode is present * * Deregister Scripts from LayerSlider if no shortcode in content * Using do_shortcode function? See: http://wordpress.stackexchange.com/questions/20854/conditionally-loading-javascript-css-for-shortcodes/75915#75915 */ function check_for_layerslider_shortcode() { global $post; //Check content for layerslider shortcode if (!has_shortcode($post->post_content, 'layerslider')) { //no shortcode so run deenqueue function add_action('wp_print_scripts', 'layerslider_deenqueue_scripts', 99999); add_action('wp_print_styles', 'layerslider_deenqueue_scripts', 99999); } } add_action('wp_enqueue_scripts', 'check_for_layerslider_shortcode'); /** * Removes LayerSlider scripts */ function layerslider_deenqueue_scripts() { wp_dequeue_script('layerslider_js'); wp_deregister_script('layerslider_js'); wp_dequeue_script('jquery_easing'); wp_deregister_script('jquery_easing'); wp_dequeue_script('transit'); wp_deregister_script('transit'); wp_dequeue_script('layerslider_transitions'); wp_deregister_script('layerslider_transitions'); wp_dequeue_style('layerslider_css'); wp_deregister_style('layerslider_css'); wp_dequeue_style('layerslider_custom_transitions'); wp_deregister_style('layerslider_custom_transitions'); wp_dequeue_style('layerslider_custom_css'); wp_deregister_style('layerslider_custom_css'); wp_dequeue_style('layerslider'); wp_deregister_style('layerslider'); wp_dequeue_script('greensock'); wp_deregister_script('greensock'); wp_dequeue_script('layerslider'); wp_deregister_script('layerslider'); wp_dequeue_script('layerslider-transitions'); wp_deregister_script('layerslider-transitions'); }