2014-02-13 3 views
6

Я написал WordPress плагин и хочу сделать его включить некоторые CSS таблицу стилей, я попытался использовать этот процесс я обычно использую через тему functions.php файл ...Wordpress загрузка таблицы стилей с помощью плагина

add_action('wp_enqueue_script','register_my_scripts'); 

function register_my_scripts(){ 
    $dir = plugin_dir_path(__FILE__); 
    wp_enqueue_style($dir . 'css/style1.css'); 
    wp_enqueue_style($dir . 'css/style2.css'); 
} 

Но это ничего не нагружает, что я делаю неправильно?

+2

'wp_enqueue_style ('пользовательский стиль', plugins_url ('/css/my-style.css', __FILE__), массив(), 'all'); 'где' plugins_url' относительно базы плагинов без косой черты. –

+0

Я вижу ваш боевик «wp_enqueue_script« Отсутствует ». Это действие с крючком, а не функция, так что правильно это «wp_equeue_scripts» [1]. [1]. https://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts – NgaNguyenDuy

ответ

17

Крючок, который вам нужно использовать, - это wp_enqueue_scripts, вам не хватало 's'.

Вы получаете путь к каталогу, когда вам нужен адрес каталога.

Первый параметр wp_enqueue_style - это дескриптор, а не URL.

function wpse_load_plugin_css() { 
    $plugin_url = plugin_dir_url(__FILE__); 

    wp_enqueue_style('style1', $plugin_url . 'css/style1.css'); 
    wp_enqueue_style('style2', $plugin_url . 'css/style2.css'); 
} 
add_action('wp_enqueue_scripts', 'wpse_load_plugin_css'); 
2

попробовать:

wp_enqueue_style('custom-style', plugins_url('/css/my-style.css', __FILE__), array(),'all'); где plugins_url является относительно плагин базы без косой черты.

4

Вы используете plugin_dir_path, который выводит путь к каталогу файловой системы. Вместо этого вам нужен URL.

Также первым параметром wp_enqueue_style является $handler имя.

Использование plugins_url

wp_enqueue_style('style1', plugins_url('css/style1.css' , __FILE__)); 

Полный код:

add_action('wp_enqueue_scripts','register_my_scripts'); 

function register_my_scripts(){ 
wp_enqueue_style('style1', plugins_url('css/style1.css' , __FILE__)); 
wp_enqueue_style('style2', plugins_url('css/style2.css' , __FILE__)); 
} 
+0

это wp_enqueue_style ('style2', plugins_url ('css/style2.css', dirname (\ _ \ _ FILE__))); см. https://codex.wordpress.org/Function_Reference/plugins_url#Common_Usage – luciole135

+0

@ luciole135 Если вы используете функцию 'plugins_url()' в файле, который вложен внутри подкаталога вашего каталога плагинов, вы должны использовать 'dirname (__FILE __) 'может использоваться, если файл не находится в корневом каталоге плагина. –

+0

Да, теперь я использую plugin_dir_url() – luciole135

Смежные вопросы