it-swarm-id.com

Bagaimana Menghubungkan file jQuery/Javascript Eksternal dengan WordPress

Jadi saya menggunakan Starkers untuk mendasarkan tema WPberikutnya dan saya telah mengalami masalah kecil, saya memasukkan versi jQuery saya sendiri dalam file header.php tetapi ketika memeriksa situs saya menggunakan Firebug saya perhatikan jquery sedang diunduh dua kali, saya melakukan sedikit penggalian dan memperhatikan bahwa saya tidak hanya memasukkan file tetapi juga fungsi wp_head().

Dalam mencoba untuk memperbaiki masalah saya perhatikan komentar di file header, yang berasal dari tema Twenty Ten:

/* Always have wp_head() just before the closing </head>
 * tag of your theme, or you will break many plugins, which
 * generally use this hook to add elements to <head>, such 
 * as styles, scripts, and meta tags
 */

Jadi inilah masalah saya, saya mendapat kesan bahwa file jQuery harus diatur sebelum file lain yang ingin menggunakannya dan bahwa wp_head() harus menjadi hal terakhir dalam elemen <head>, saya sedikit bingung sekarang karena saya bertanya-tanya apakah saya harus meletakkan wp_head() di bagian atas sehingga WP termasuk file jQuery akan digunakan untuk semua plugin saya, meskipun dikatakan tidak melakukannya.

Saya memang berkomentar garis jQuery di fungsi wp_head() tapi itu diperlukan untuk halaman admin jadi saya harus mengembalikannya.

Saya juga ingin menggunakan (setidaknya percobaan) dengan menggunakan jQuery versi Google CDN, tetapi tidak ingin memasukkannya dua kali!

Saya harap Anda mengerti apa yang saya coba jelaskan, setiap saran tentang bagaimana saya bisa menyelesaikan masalah ini akan sangat dihargai. Saya juga menghargai saran apa pun tentang cara Anda menangani file JavaScript dengan file header.

Terima kasih!

15
Ben Everard

Dari kata-kata pertanyaan Anda, Anda harus menambahkan skrip dengan menulis tag <script> di templat Anda. Tambahkan skrip Anda sendiri melalui wp_enqueue_script() di functions.php template Anda, atur ketergantungan pada jQuery dengan tepat, dan wp_head() akan menambahkan skrip untuk Anda.

function my_scripts() {
    wp_enqueue_script( 'my-sweet-script', get_bloginfo('template_directory') . '/script.js', array('jquery') );
}
add_action('template_redirect', 'my_scripts');

Lihat halaman codex untuk info lebih lanjut.

9
Annika Backstrom

Saya sarankan melihat 5 Tips untuk menggunakan jQuery dengan WordPress . Antara lain, ini menunjukkan kode yang diperlukan untuk memuat jQuery dari perpustakaan Google:

function my_init() {
    if (!is_admin()) {
        // comment out the next two lines to load the local copy of jQuery
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.3.2');
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'my_init');

Anda juga dapat melihat plugin Gunakan Perpustakaan Google .

7
Travis Northcutt

Meskipun @tnorthcutt benar bahwa Anda harus dequue jquery asli WP dengan benar jika Anda ingin memuat sendiri, Anda yakin akan mengalami masalah ketika Anda memuat versi jquery berbeda yang WP intinya. Baik inti dan plugin bergantung padanya. Jadi jika Anda tidak memperbarui tema Anda dengan jquery terbaru setiap kali WP diperbarui, situs Anda mungkin rusak.

Kode berikut akan memastikan tema Anda selalu memuat versi jquery yang benar, dengan terlebih dahulu mencari versi WP yang digunakan dan kemudian memuatnya dari Google:

$wp_jquery_version = $GLOBALS['wp_scripts']->registered['jquery-core']->ver;
$jquery_version = ( $wp_jquery_version == '' ) ? '1.8.3' : $wp_jquery_version; // fallback, just in case 
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/'. $jquery_version .'/jquery.min.js', $jquery_version, false );
wp_enqueue_script('jquery');
1
cjbj