ผู้เขียน หัวข้อ: วิธีการใส่ javascript เข้าไปในเวิร์ดเพรส  (อ่าน 881 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ smf

  • [color=green][i]"ถ้าคุณไม่สามารถอธิบายอย่างง่ายๆ ให้คนอื่นเข้าใจได้แล้วล่ะก็ แสดงว่าคุณยังเข้าใจมันไม่ดีพอ"[/i][/color]
  • Administrator
  • Hero Member
  • *****
  • กระทู้: 1,368
  • พอยท์: 5
    • ดูรายละเอียด
    • pordoo.com
    • อีเมล์
วิธีการใส่ javascript เข้าไปในเวิร์ดเพรส
« เมื่อ: 28 กรกฎาคม 2016, 01:59:20 »
เวลาเราออกแบบธีมหรือทำธีมใหม่ สิ่งที่จะต้องใช้แน่ๆ เลยก็คือ javascript
เอามาทำ slide บ้างล่ะ โค้ดปฎิทินบ้างล่ะ โค้ดโฆษณาบ้างล่ะ ฯลฯ แปลว่าอีกเยอะ
การใส่ javascript เข้าไปตรงๆในไฟล์ header.php นั้นไม่ใช่สิ่งที่ถูกต้อง ถึงแม้ว่ามันจะใช้ได้ก็ตาม
โดยวิธีที่ถูกต้องคือ เขียนโค้ดใส่มันเข้าไปในโฟล์ function.php ที่เก็บอยู่ในโฟลเดอร์ธีมปัจจุบันที่ใช้อยู่
โค้ดแบบนี้ ใส่เข้าไปตรงไหนก็ได้ในไฟล์ function.php
<?php function my_javascript() { wp_enqueue_script( 'myjavascript', get_template_directory_uri() . '/js/my_javascript.js' ); } add_action('wp_enqueue_scripts', 'my_javascript'); ?>

คำสั่ง add_action เป็นการบอกเวิร์ดเพรสว่า ตอนเขาจะอินคลูดจาวาสคริปต์เข้ามาในเพจ ให้ทำฟังก์ชั่นเราด้วย
add_action('wp_enqueue_scripts', 'my_javascript');

ทีนี้ในฟังก์ชั่นเราก็บอกว่า ให้เอาสคริปต์ผมที่ผมเก็บไว้ที่  โฟลเดอร์ธีมปัจจุบัน/js/my_javascript.js เข้าไปด้วย
wp_enqueue_script( 'myjavascript', get_template_directory_uri() . '/js/my_javascript.js' );

เท่านั้นแหละ ก็เป็นวิธีที่ถูกต้องแล้ว
ทีนี้ถ้ามีคำถามว่า แล้วทำไมการใส่จาวาสคริปต์เข้าไปตรงๆในธีม มันไม่ดี
ก็เพราะว่า ต้องเข้าใจว่าไม่ได้มีเพียงแต่เราเท่านั้นที่เป็นคนแอดจาวาสคริปต์เข้าไปใน หน้าเพจ แต่พวกปลักอินทั้งหลายที่เราติดตั้งไว้ บางตัวมันก็ทำ ซึ่งมันอาจจะเป็นไปได้ว่า มันจะมีการแอดจาวาสคริปต์เข้าไปซ้ำกัน แล้วเกิดชนกัน
สมมติง่ายๆว่าเรา  แอด jquery เข้าไป ตรงๆเลยในธีม ทีนี้ปลักอิน litebox มันก็ต้องการใช้ jQuery มันก็ใส่เข้าไป ของเรากับของมันคนละเวอร์ชั่นกัน ก็ตีกัน สคริปต์เราก็อาจจะใช้งานไม่ได้
ถามต่อ แล้วคำสั่ง wp_enqueue_script มันช่วยแก้ปัญหาอย่างไร
ก็เพราะว่า เวิร์ดเพรสมันจะเป็นคนคอยตรวจสอบว่ามีการซ้ำกันของจาวาสคริปต์หรือเปล่า ถ้าซ้ำมันก็เอาแค่อันเดียว  มันก็ไม่ซ้ำละ
เวิร์ดเพรสมันเอาไปเข้าคิว เข้าคิว เข้าคิว … อ้าวเฮ้ย มึงมีแล้ว ไม่ต้องมา ออกไป


ที่มา: http://www.select2web.com/wordpress/wp-enqueue-script-javascript.html