Funkce wp_enqueue_script

Funkce wp_enqueue_script vytváří odkaz na script, který jste již dříve zaregistrovali pomocí wp_register_script. Jedná se o jediný správný způsob, jak vkládat do šablony například jQuery, protože WordPress kontroluje zaregistrované scripty a nedochází tak k opakovanému načtení stejného scriptu.

wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );

Parametry:

$handle – vyžadováno, obsahuje jméno scriptu, pod kterým je zaregistrován. Pokud jste tedy zaregistrovali script pod jménem „slider“, pod stejným jménem ho budete volat v této funkci.

$src – cesta ke scriptu. Povinná je pouze v tom případě, že jste ji již nedefinovali v wp_register_script. V žádném případě v cestě nepoužívejte pevné pojmenování url, ale v případě pluginu funkci plugins_url a v šabloně get_template_directory_uri.

$deps – pomocí tohoto parametru můžete ovlivnit řazení vkládaných scriptů a určit, který soubor se vkládá dříve. Použijte pouze, pokud jste jej nedefinovali v wp_register_sript.

$ver – zde můžete definovat verzi scriptu a defaultně je nastavena na false. V tom případě WordPress automaticky přidává do url verzi instalace WordPressu. Pokud chcete link bez uvedení verze, nastavte na null.

$in_footer – určuje, zda se bude script načítat v head, nebo footer. Pokud je true, načte se v patičce. Defaultně je false.

Několik příkladů z WordPress.org

Protože jsem na toto téma již článek napsal – Jak vložit javascript do šablony, uvedu jen příklady, které článek rozšiřují.

Čtěte  Funkce get_post_ancestors

Vložení js souboru, který je již ve WordPressu vložen a zaregistrován:

function my_scripts_method() {
    wp_enqueue_script( 'scriptaculous' );
}
 
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

Akce wp_enqueue, kterou zde voláme, se vztahuje jen k frontendu. Pokud potřebujeme soubory vložit do administrace, musíme použít hook admin_enqueue_scripts.

Vložení scriptu v závislosti na jQuery

Řada vkládaných scriptů je závislá na některé z knihoven, jako je jQuery. Pokud použijeme parametr $deps, vloží se script pouze, pokud již bylo vloženo jQuery.

function my_scripts_method() {
wp_enqueue_script(
'custom-script',
get_stylesheet_directory_uri() . '/js/custom_script.js',
array( 'jquery' )
);
}
 
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

Vložení scriptu do patičky bez závislosti na jiném souboru

add_action( 'wp_enqueue_scripts', 'child_add_scripts' );
 
function child_add_scripts() {
    wp_register_script(
        'google-analytics',
        get_stylesheet_directory_uri() . '/google_analytics_object.js',
        false,
        '1.0',
        true
    );
 
    wp_enqueue_script( 'google-analytics' );
}

Scripty, které WordPress již obsahuje a vkládá:

Při instalaci již WordPress obsahuje řadu scriptů, které využívá v administraci a pro funkce webu. Zde je seznam všech scriptů, které tak můžete použít ve svých šablonách a pluginech:

Čtěte  Funkce get_children
JménoHandleZávislost
Image CropperImage cropper
Jcropjcrop
SWFObjectswfobject
SWFUploadswfupload
SWFUpload Degradeswfupload-degrade
SWFUpload Queueswfupload-queue
SWFUploadHandlersswfupload-handlers
jQueryjqueryjson2 (for AJAX calls)
jQuery Formjquery-formjquery
jQuery Colorjquery-colorjquery
jQuery Masonryjquery-masonryjquery
jQuery UI Corejquery-ui-corejquery
jQuery UI Widgetjquery-ui-widgetjquery
jQuery UI Mousejquery-ui-mousejquery
jQuery UI Accordionjquery-ui-accordionjquery
jQuery UI Autocompletejquery-ui-autocompletejquery
jQuery UI Sliderjquery-ui-sliderjquery
jQuery UI Tabsjquery-ui-tabsjquery
jQuery UI Sortablejquery-ui-sortablejquery
jQuery UI Draggablejquery-ui-draggablejquery
jQuery UI Droppablejquery-ui-droppablejquery
jQuery UI Selectablejquery-ui-selectablejquery
jQuery UI Positionjquery-ui-positionjquery
jQuery UI Datepickerjquery-ui-datepickerjquery
jQuery UI Resizablejquery-ui-resizablejquery
jQuery UI Dialogjquery-ui-dialogjquery
jQuery UI Buttonjquery-ui-buttonjquery
jQuery UI Effectsjquery-effects-corejquery
jQuery UI Effects – Blindjquery-effects-blindjquery-effects-core
jQuery UI Effects – Bouncejquery-effects-bouncejquery-effects-core
jQuery UI Effects – Clipjquery-effects-clipjquery-effects-core
jQuery UI Effects – Dropjquery-effects-dropjquery-effects-core
jQuery UI Effects – Explodejquery-effects-explodejquery-effects-core
jQuery UI Effects – Fadejquery-effects-fadejquery-effects-core
jQuery UI Effects – Foldjquery-effects-foldjquery-effects-core
jQuery UI Effects – Highlightjquery-effects-highlightjquery-effects-core
jQuery UI Effects – Pulsatejquery-effects-pulsatejquery-effects-core
jQuery UI Effects – Scalejquery-effects-scalejquery-effects-core
jQuery UI Effects – Shakejquery-effects-shakejquery-effects-core
jQuery UI Effects – Slidejquery-effects-slidejquery-effects-core
jQuery UI Effects – Transferjquery-effects-transferjquery-effects-core
MediaElement.js (WP 3.6+)wp-mediaelementjquery
jQuery Scheduleschedulejquery
jQuery Suggestsuggestjquery
ThickBox (modified)thickbox
jQuery HoverIntenthoverIntentjquery
jQuery Hotkeysjquery-hotkeysjquery
Simple AJAX Code-Kitsack
QuickTagsquicktags
Iris (Colour picker)irisjquery
Farbtastic (deprecated)farbtasticjquery

ColorPicker (deprecated)colorpickerjquery
Tiny MCEtiny_mce
Autosaveautosave
WordPress AJAX Responsewp-ajax-response
List Manipulationwp-lists
WP Commoncommon
WP Editoreditorremov
WP Editor Functionseditor-functions
AJAX Catajaxcat
Admin Categoriesadmin-categories
Admin Tagsadmin-tags
Admin custom fieldsadmin-custom-fields
Password Strength Meterpassword-strength-meter
Admin Commentsadmin-comments
Admin Usersadmin-users
Admin Formsadmin-forms
XFNxfn
Uploadupload
PostBoxpostbox
Slugslug
Postpost
Pagepage
Linklink
Commentcomment
Threaded Commentscomment-reply
Admin Galleryadmin-gallery
Media Uploadmedia-upload
Admin widgetsadmin-widgets
Word Countword-count
Theme Previewtheme-preview
JSON for JSjson2
Plupload Coreplupload
Plupload All Runtimesplupload-all
Plupload HTML4plupload-html4
Plupload HTML5plupload-html5
Plupload Flashplupload-flash
Plupload Silverlightplupload-silverlight
Underscore jsunderscore
Backbone jsbackbone

Využití takových scriptů vám určitě usnadní práci na šablonách a můžete využívat řadu funkcí, které již WordPress v základu má.

Čtěte  Funkce get_search_form

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Related posts

1 Comment

  1. Pingback: Jak přeložit řetězce v javascriptových souborech | Musilda.cz

Leave a Reply

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *