2010-09-21 10 views

Odpowiedz

38

przypadku stylów wp_register_style('namespace', 'http://locationofcss.com/mycss.css');

Następnie użyj: wp_enqueue_style('namespace'); gdziekolwiek chcesz css do załadowania.

Skrypty są jak powyżej, ale szybsza droga do załadunku jQuery jest tylko do korzystania Kolejkuj załadowanego w pliku init dla strony, którą chcesz go załadować na: wp_enqueue_script('jquery');

ile oczywiście chcesz korzystać z repozytorium Google dla jquery.

Można również warunkowo załadować biblioteki jQuery, że skrypt jest uzależniona od:

wp_enqueue_script('namespaceformyscript', 'http://locationofscript.com/myscript.js', array('jquery'));

Aktualizacja Sept. 2017

Napisałem to odpowiedzieć jakiś czas temu. Powinienem wyjaśnić, że najlepszym miejscem do skatalogowania twoich scenariuszy i stylów jest hak wp_enqueue_scripts. Tak więc na przykład:

add_action('wp_enqueue_scripts', 'callback_for_setting_up_scripts'); 
function callback_for_setting_up_scripts() { 
    wp_register_style('namespace', 'http://locationofcss.com/mycss.css'); 
    wp_enqueue_style('namespace'); 
    wp_enqueue_script('namespaceformyscript', 'http://locationofscript.com/myscript.js', array('jquery')); 
} 

Akcja wp_enqueue_scripts ustawi się na rzeczy „nakładka”. Możesz użyć akcji admin_enqueue_scripts dla zaplecza (w dowolnym miejscu w wp-admin) i akcji login_enqueue_scripts dla strony logowania.

+0

Dla tych z nas, którzy dopiero zaczynają tworzyć wtyczki, czy mógłbyś wyjaśnić "gdzie chcesz załadować css?" Czy musimy tworzyć szablony stron dla każdej strony, na której chcemy ją wywoływać, a następnie ręcznie wywoływać ją w nagłówku? – user658182

+0

@ user658182 użyj '' 'add_action ('init', 'nazwa_funkcji');' '', gdzie nazwa_funkcji jest funkcją, która zamienia zasoby. –

+1

Jak możesz sprawić, aby arkusz stylów działał tylko wtedy, gdy jest na konkretnej wtyczce? – Xrait

35

Umieść go w funkcji init() dla swojej wtyczki.

function your_namespace() { 
    wp_register_style('your_namespace', plugins_url('style.css',__FILE__)); 
    wp_enqueue_style('your_namespace'); 
    wp_register_script('your_namespace', plugins_url('your_script.js',__FILE__)); 
    wp_enqueue_script('your_namespace'); 
} 

add_action('admin_init','your_namespace'); 

Zajęło mi też trochę czasu, zanim znalazłem (dla mnie) najlepsze rozwiązanie, które jest niezawodny imho.

Cheers

+0

Gdzie jest ten kod? functions.php? Plugin.php? – user658182

+1

@ user658182 Twoja wtyczka wordpress prawdopodobnie powinna mieć własny plik .php lub folder w wp-content/plugins / –

14

Aby dołączyć CSS i jQuery w swojej wtyczce jest łatwe, spróbuj tego:

// register jquery and style on initialization 
add_action('init', 'register_script'); 
function register_script() { 
    wp_register_script('custom_jquery', plugins_url('/js/custom-jquery.js', __FILE__), array('jquery'), '2.5.1'); 

    wp_register_style('new_style', plugins_url('/css/new-style.css', __FILE__), false, '1.0.0', 'all'); 
} 

// use the registered jquery and style above 
add_action('wp_enqueue_scripts', 'enqueue_style'); 

function enqueue_style(){ 
    wp_enqueue_script('custom_jquery'); 

    wp_enqueue_style('new_style'); 
} 

znalazłem ten wielki wycięte z tej strony How to include jQuery and CSS in WordPress – The WordPress Way

nadzieję, że pomoże.

5

Przyjęta odpowiedź jest niekompletna. należy użyć prawego haka: wp_enqueue_scripts

Przykład:

function add_my_css_and_my_js_files(){ 
     wp_enqueue_script('your-script-name', $this->urlpath . '/your-script-filename.js', array('jquery'), '1.2.3', true); 
     wp_enqueue_style('your-stylesheet-name', plugins_url('/css/new-style.css', __FILE__), false, '1.0.0', 'all'); 
    } 
    add_action('wp_enqueue_scripts', "add_my_css_and_my_js_files"); 
7

Wystarczy załączyć do odpowiedzi @ pixeline za (próbował dodać krótki komentarz ale strona powiedział Potrzebowałem 50 reputacji).

Jeśli piszesz wtyczkę do sekcji administracyjnej należy użyć:

add_action('admin_enqueue_scripts', "add_my_css_and_my_js_files"); 

W admin_enqueueu_scripts jest poprawny hak do sekcji administracyjnej, wykorzystanie wp_enqueue_scripts na przednim końcu.

5

Najpierw musisz zarejestrować styl i CSS za pomocą wp_register_script() i wp_register_style() Funkcje

//registering javascript and css 
wp_register_script ('mysample', plugins_url ('js/myjs.js', __FILE__)); 
wp_register_style ('mysample', plugins_url ('css/mystyle.css', __FILE__)); 

Po tym można wywołać wp_enqueue_script() i wp_enqueue_style() funkcji do ładowania JS i CSS w wymagane strona

wp_enqueue_script('mysample'); 
wp_enqueue_style('mysample'); 

I fount piękny przykład tutaj http://wiki.workassis.com/wordpress-create-advanced-custom-plugin-using-oop/

0

można wykorzystać następującą funkcję do skryptu o enqueue r styl z wtyczki.

function my_enqueued_assets() { 
    wp_enqueue_script('my-js-file', plugin_dir_url(__FILE__) . '/js/script.js', '', time()); 
    wp_enqueue_style('my-css-file', plugin_dir_url(__FILE__) . '/css/style.css', '', time()); 
} 
add_action('wp_enqueue_scripts', 'my_enqueued_assets'); 
Powiązane problemy