2014-02-13 16 views
6

Ich habe ein Wordpress-Plugin geschrieben und möchten es einige CSS-Stylesheets machen sind, habe ich versucht, den Prozess zu verwenden, die ich in einem Themen verwenden in der Regel functions.php Datei ...Wordpress laden ein Stylesheet durch Plugin

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'); 
} 

Aber das lädt nichts, was mache ich falsch?

+2

'wp_enqueue_style ('custom-Stil', plugins_url ('/css/my-style.css', __FILE__), array(), 'all'); 'wobei' plugins_url' relativ zur Plugin-Basis ohne Schrägstrich steht. –

+0

Ich sehe Ihren Aktions-Hook 'wp_enqueue_script' fehlt 's' Zeichen. Es ist Hook-Aktion, Funktion nicht so richtig muss "wp_equeue_scripts" [1]. [1]. https://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts – NgaNguyenDuy

Antwort

17

Der Haken, den Sie verwenden müssen, ist wp_enqueue_scripts, Sie fehlten das "s".

Sie erhalten den Verzeichnispfad, wenn Sie die Verzeichnis-URL benötigen.

Der erste Parameter von wp_enqueue_style ist ein Handle und nicht die 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

Versuch:

wp_enqueue_style('custom-style', plugins_url('/css/my-style.css', __FILE__), array(),'all'); wo plugins_url relativ Basis ohne Schrägstrich-Plugin.

4

Sie verwenden plugin_dir_path, die Dateisystemverzeichnispfad ausgibt. Stattdessen benötigen Sie URL.

Auch der erste Parameter von wp_enqueue_style ist $handler Name.

Verwenden plugins_url

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

Voll Code:

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

es ist wp_enqueue_style ('style2', plugins_url ('css/style2.css', dirname (\ _ \ _ FILE__)))); siehe: https://codex.wordpress.org/Function_Reference/plugins_url#Common_Usage – luciole135

+0

@ luciole135 Wenn Sie die Funktion 'plugins_url()' in einer Datei verwenden, die in einem Unterverzeichnis Ihres Plugin-Verzeichnisses verschachtelt ist, sollten Sie 'dirname' verwenden (__FILE __) 'kann verwendet werden, wenn sich die Datei nicht im Stammverzeichnis des Plugin-Verzeichnisses befindet. –

+0

Ja, jetzt benutze ich plugin_dir_url() – luciole135