Սկիզբ » Ուսումնական նյութեր » Վեբ » CMS - կառավարման համակարգեր » Վորդպրես » Վորդպրեսս – Ինչպե՞ս էջերում ներառել միայն անհրաժեշտ css-ները և ջավասքրիփթները (տարբերակ 2)

Վորդպրեսս – Ինչպե՞ս էջերում ներառել միայն անհրաժեշտ css-ները և ջավասքրիփթները (տարբերակ 2)

| Հոկտեմբեր 23, 2012 | Մեկնաբանված չէ |

Մի այսպիսի հոդված ունեմ Ինչպե՞ս էջերում ներառել միայն անհրաժեշտ css-ները և ջավասքրիփթները : Այնտեղ նկարագրված մեթոդը մի թերություն ունի, այն է ՝ փլագինների թարմացման ժամանակ կորչում են փլագինների ֆայլերի մեջ արված փոփոխությունները, և անհրաժեշտություն է առաջանում բեքափներից վերցնել ավելացված կոդերը և դնել տեղը: Բայց կա ավելի լավ մեթոդիկա: Այնպիսի մի մեթոդիկա, որ փլագինները թարմացնելուց հետո ոչ մի փոփոխություն չի կորչում: Գնացինք:

Որեմն փլագինները իրենց սեփական ջավասքրիփթ ու CSS ֆայլերը կցում են ձեր կայքին օգտագործելով վորդպրեսի API-ի այսպես կոչված “հուք”-երը: Փլագինը նախ և առաջ պիտի գրանցի իր css-ը: Դա կատարվաում է հետևյալ կերպ:

wp_register_style( 'ՍթայլիԱնուն', 'ֆայլիանուն.css', ֆայլի դիրեկտորիա);

Որից հետո գրանցված ֆայլը պետք է դնի հերթի մեջ, որպիսի այդ հերթից էջը տպելիս հերթով գրի այդ css-ների հարաբերությունները, սրա պես մի բան՝

link rel='stylesheet' id='core3.0-css' href='/shCore.css' type='text/css' media='all' />

Հերթի մեջ դնում է օգտագործելով հետևյալ ֆունկցիան

wp_enqueue_style('ՍթայլիԱնուն');

Գրանցումը և հերթի մեջ դնելը կատարվում է wp_enqueue_scripts հուքի օգտագործմամբ: Մեզ անհրաժեշտ է գրանցումը և հերթի մեջ դնելը փաթաթել մի ֆունկցիայի մեջ և այդ ֆունկցիային ավելացնել հուքի մեջ:

Այսպես `

add_action( 'wp_enqueue_scripts', 'my_function' );
 function my_function() {
 wp_register_style( 'ՍթայլիԱնուն', plugins_url('ֆայլիանուն.css', ֆայլի դիրեկտորիա) );
 wp_enqueue_style( 'ՍթայլիԱնուն' );
 }

Հրաշալի է, այս կոդերի աշխատանքի հետևանքով մեր ֆրոնտենդում հայտնվում է

<link rel='stylesheet' id='ՍթայլիԱնուն-css'  href='ֆայլի դիրեկտորիա/ֆայլիանուն.css' />

ահա փլագինը ներառեց իր սթայլերը: Ուշադրություն դարձրեք id ատրիբուտին, այն մեզ հետագայում անհրաժեշտ է լինելու:

Լավ, նորից վերհիշենք մեր խնդիրը, մեզ պետք չի, որ այս սթայլը օգտագործվի մեր վորդպրես կայքի բոլոր էջերում: Իսկ նախորդ լուծումը պահանջում էր անընդհատ վերադարձնել փլագինների մեջ մեր գրած կոդը դրանց թարմացումից հետո:

Սակայն վորդպրեսը մեզ տալիս է հնարավորություն առանց փլագիններին կպնելու կառավարել արտաքին սթայլերի և ջավասքրիփթ ֆայլերի ներառումը այս կամ այն էջի մեջ: Դա կատարվում է wp_dequeue_style() ֆունկցիայի օգնությամբ: Անում ենք այսպես, նայում ենք html-ը, գտնում ենք սթայլի id ատրիբուտը: Մեր դեպքում ատրիբուտը այսպիսին է ՝ ՍթայլիԱնուն-css: Իրենից ներկայացնում է սթայլի գրանցման անունը գումարած “-css” վերջածանցը: Վերցնում ենք id-ին առանց վեջածանցի և անում այսպես ՝

wp_dequeue_style( 'ՍթայլիԱնուն')

բայց սա դեռ վերջը չի, սա նորից պիտի փաթաթվի ֆունկցիայով և ավելացվի որպես հուք: Միաժամանակ ֆունկցիայի մեջ կարելի է իրականացնել տրամաբանությունը, թե որ էջերում բացառվեն այս կամ այն սթայլերը և ջավասքրիփթնփրը , իսկ որոնցում ոչ: Կարելի է օգտագործել ստանդարտ վորդպրեսական էջի տեսակը ստուգող ֆունկցիաներ(is_home,is_single,is_category … ), քասթմ ֆիլդեր և ցանկացած այլ ստուգումներ, ելնելով տեխնիկակակն խնդրից:

Ահա մի օրինակ, որտեղ wp-paginate փլագինի css չի ներառվում գլխավոր էջում: Իսկ մի այլ սթայլ ներառվում է միայն փոստերի էջում :

function my_remove_css(){
 if(is_home())
 {
 wp_dequeue_style('wp-paginate');
 }
 if(!is_single())
 {
 wp_dequeue_style('ՍթայլիԱնուն');
 wp_dequeue_style('ՍթայլիԱնուն');
 }
 }
 add_action('wp_print_styles','my_remove_css');

Հա մոռացա ասեմ, որ այս վերջին կոդը պիտի գրված լինի ձեր թեմայի functions.php ֆայլում: Դրանից հետո կարող եք Անհանգիստ թարմացնել փլագինները ու ոչ մի բան չի կորչի:

ՀԳ: Անհանգիս մնացեք, ամենալավ տարբերակը գտնելու համար:

ՍկզբնԱղբյուր

Վորդպրեսս – Ինչպե՞ս էջերում ներառել միայն անհրաժեշտ css-ները և ջավասքրիփթները (տարբերակ 2), 10.0 out of 10 based on 2 ratings

Նշագրեր: , , ,

Բաժին: Վորդպրես

Կիսվել , տարածել , պահպանել

VN:F [1.9.20_1166]
Rating: 10.0/10 (2 votes cast)

Մեկնաբանեք

Կհաստատվեն միայն մեսրոպատառ հայերենով գրած մեկնաբանությունները

212