http___media-x.hr_contact-form-7-kako-ucitati-js-i-css-datoteke-samo-na-odredenim-stranicama__1.xml
1.1 2.1 3.1 4.1 4.2 5.1 6.1 7.1 8.1 9.1 10.1 11.1 13.1 15.1 16.1 17.1 18.1 19.1 22.1 23.1 24.1 25.1 26.1 27.1 28.1 29.1 30.1 32.1 33.1 33.2 34.1
Over the week I had a client’s WordPress crashing in iOS Safari after upgrading to WP 4.2. I performed javascript debugging and realized the wp-emoji-release.min.js file was using a high amount of memory and cpu. The WordPress emoji javascript file runs a regex on the entire page causing the browser to crash on mobile (due to lack of memory on mobile devices). So if you’re not using emoji on your WordPress site you should disable it to speed up your site. Here are a few solutions to disable emoji in WordPress. Easy (Plugin) Solution All you need to do is install & activate the disable emojis plugin. Disable Emojis Plugin on WordPress.org If you want to enable the classic WordPress smileys use the plugin below. Classic WordPress smileys on WordPress.org Manual Functions.php Solution If you want to disable Emoji support in your theme I’ve included the code below you can add to your theme’s functions.php file. * Disable Emoji Support function disable_emojis_tinymce( $plugins ) { if ( is_array( $plugins ) ) { return array_diff( $plugins, array( 'wpemoji' ) ); } else { return array(); function disable_emojis() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' ); add_action( 'init', 'disable_emojis' ); WordPress 4.2 was released on April 23, 2015 so if you’ve seen a performance dive after then it could be the issue. I had a very large page with lots of content so the wp-emoji-release.min.js file was working overtime. Hope this helps someone out there!
1.1 1.2 2.1 2.2 2.3 3.1 4.1 4.2 5.1 6.1 7.1 8.1 9.1 10.1 12.1 13.1 14.1 15.1 16.1 17.1 18.1 18.2 19.1 20.1 21.1 21.2 21.3 22.1 22.2 22.3 22.4 23.1 24.1 25.1 25.2 25.3 25.4 25.5 25.6 25.7 27.1 28.1 28.2 28.3 29.1 29.2 29.3
Contact form 7 (CF7) je najpopularniji besplatni plugin za kreiranje kontakt formi. U trenutku pisanja ovog članka skinut je skoro 18 milijuna puta te je aktivan na preko milion WordPress instalacija. Nakon instalacije, CF7 po defaultu “postavlja” svoje JavaScript i CSS datoteke na svim stranicama. Samo po sebi to ne znači ništa loše ali danas ćemo pričati o činjenici da prosječan korisnik na svom webu može koristiti desetak pluginova koji na isti način u head sekciju ubacuju svoje datoteke. Ovdje dolazimo do problema s brzinom učitavanja web stranice, koji nije važan isključivo zbog korisničkog iskustva, nego i zbog almighty Googla koji brzinu učitavanja stranice koristi u svojim logaritmima kao faktor koji utječe na ranking (položaj) vašeg weba u rezultatima pretrage. Optimiziranje Contact form 7 plugina Kako bismo koristili datoteke CF7 samo na stranicama na kojima se on zaista i koristi, prvo moramo globalno “od-registrirati” JS i CSS datoteke te ih učitati samo na stranicama gdje koristimo kontakt forme. Postoji više načina kako to učiniti, ali danas ću spomenuti samo dva. 1. način Autor Contact form 7 plugina Takayuki Miyoshi, na svojim web stranicama predstavlja jedan način. Ako koristite Contact Form 7 3.9 ili noviji (aktualna verzija je 4.2), dodavanjem slijedećeg koda u functions.php vaše AKTIVNE teme onemogućiti ćete učitavanje JS i CSS na svim stranicama: add_filter( 'wpcf7_load_js', '__return_false' ); add_filter( 'wpcf7_load_css', '__return_false' ); Ako kontakt formu koristite samo na stranici “Kontakt”, velika je šansa da vaša tema ima zaseban predložak (template), koji se vrlo vjerojatno zove contact.php. U folderu teme pronađite tu datoteku i u istu dodajte slijedeći kod: Napomena: ovaj snippet obavezno mora biti pozvan prije nego što je pozvan wp_head() 2. način Možda ste svoju kontakt formu(e) koristili na par različitih stranica (Kontakt, O nama i sl.) ili ste koristili običan predložak (tj. vaša tema nema zaseban predložak za kontakt stranicu). U tom slučaju, u functions.php vaše teme možete dodati slijedeći kod: add_action( 'wp_print_scripts', 'deregister_cf7_javascript', 100 ); function deregister_cf7_javascript() { if ( !is_page(array(66, 'o-nama', 'Kontakt')) ) { wp_deregister_script( 'contact-form-7' ); } } add_action( 'wp_print_styles', 'deregister_cf7_styles', 100 ); function deregister_cf7_styles() { if ( !is_page(array(66, 'o-nama', 'Kontakt')) ) { wp_deregister_style( 'contact-form-7' ); } } Koristimo funkciju is_page() čije vrste primjene možete pronaći u WordPress Codexu is_page() Ova funkcija kao vrijednosti parametra prima Page ID, Page Title ili Page Slug. Osobno preferiram Page ID jer se on nikad ne mijenja, za razliku od Title-a ili Sluga kojeg korisnici često znaju prepravljati. Napomena: u dio funkcije if ( !is_page(array(66, 102, 201)) ) { u array upišite Page ID-eve stranica na kojima koristite kontakt formu. Kako doznati Page ID stranice? U adminu idite na prikaz svih postova, pronađete željeni post i mišem prijeđete preko (hover) naslova posta. Na dnu preglednika prikazuje se traka s URL-om dotičnog posta. U našem slučaju, Page ID kontakt stranice je 66. Drugi način je da u adminu otvorite post (uredi). U address baru vidite URL vašeg posta. Odmah nakon vrijednosti post= nalazi se broj koji označava Page ID. Njega iskopirate u funkciju i to je to 😉 Napomena: opisani koraci vrijede i za postove i za stranice. Kako provjeriti da li se skripte učitavaju samo gdje je potrebno? U web pregledniku (browseru) otvorite stranicu. Možete ili istovremeno pritisnuti CTRL i U ili desni klik i izaberete “View page source”. U novootvorenom tabu vidjet ćete kod stranice. Istovremeno kliknite na CTRL i F te upišite riječ contact. Ako se radi o stranici na kojoj ne koristite kontakt formu, ne bi trebalo biti rezultata. Na stranici Kontakt rezultati pretrage će vas dovesti do koda koji je zadužen za učitavanje JS i CSS datoteka CF7 plugina. Za CSS datoteku on izgleda otprilike ovako: Zaključak Na gore opisan način smo svom webu smanjili minimalno 2 HTTP requesta prilikom učitavanja stranice. U slijedećim člancima ću vam predstaviti načine kako isto učiniti za još neke popularne pluginove koji se također koriste samo na određenom broju stranica. Konkretno, obradit ćemo kako to učiniti s popularnim Revolution sliderom. O utjecaju pluginova na brzinu učitavanja stranice bilo je riječi na mom predavanju “WP Pluginovi – prednosti i mane” održanom na 1. pulskom WP meetupu. Zainteresirani mogu škicnuti video na ovom linku. Konkretno, deregistriranje skripti spominjem negdje oko trinaeste minute 😉