คำถามติดแท็ก wp-enqueue-script

ลิงก์ไฟล์สคริปต์ไปยังหน้าเว็บที่สร้างขึ้นในเวลาที่เหมาะสมตามการอ้างอิงสคริปต์หากสคริปต์ยังไม่ได้รวมอยู่และหากการอ้างอิงทั้งหมดได้รับการลงทะเบียน คุณสามารถลิงก์สคริปต์ที่มีหมายเลขอ้างอิงที่ลงทะเบียนไว้ก่อนหน้านี้โดยใช้ฟังก์ชัน wp_register_script () หรือจัดเตรียมฟังก์ชันนี้พร้อมพารามิเตอร์ทั้งหมดที่จำเป็นในการเชื่อมโยงสคริปต์ นี่เป็นวิธีที่แนะนำในการเชื่อมโยง JavaScript กับหน้าสร้าง WordPress

9
ฉันจะจัดคิวสไตล์ / สคริปต์บนหน้า Certain / wp-admin อย่างไร
ฉันมีฟังก์ชั่นง่าย ๆ สองอย่างที่ใช้ในการโหลดสิ่งต่าง ๆwp_enqueue_style()และwp_enqueue_script()สิ่งเหล่านี้: function admin_custom_css() { wp_enqueue_style( 'stylesheet_name', 'stylesheet.css') }; function admin_custom_js { wp_enqueue_script( 'javascript_file', 'script.js') }; ... และหน้าผู้ดูแลระบบบางหน้าสร้างด้วยadd_menu_page()และadd_submenu_page() function my_menu() { add_menu_page('Page 1', 'bar', 'something', 'else', 'foo'); add_submenu_page( 'theme_menu', 'Subpage 1', 'Subpage', 'something', 'else', 'foo'); } add_action('admin_menu', 'my_menu'); ฉันจะโหลดทั้งสองฟังก์ชั่นในหน้าเหล่านี้ได้อย่างไร ตอนนี้ฉันกำลังใช้: add_action('admin_init', 'admin_custom_css' ); add_action('admin_init', 'admin_custom_js' ); แต่มันจะโหลดไฟล์ของฉันในทุกหน้าผู้ดูแลระบบซึ่งไม่ดีเลย ฉันสามารถทำสิ่งนี้ผ่านบรรทัดง่าย …

8
จัดทำสคริปต์ / รูปแบบเมื่อมีรหัสย่อ
วิธีคิดในการลงทะเบียน / จัดคิวสคริปต์และ / หรือรูปแบบเพื่อใช้ในปลั๊กอินคืออะไร ฉันเพิ่งสร้างปลั๊กอินอย่างง่ายสำหรับปลั๊กอินเพื่อเพิ่มอวตารผู้ใช้ / gravatar ด้วยรหัสย่อ ฉันมีตัวเลือกสไตล์ที่แตกต่างกันสำหรับการแสดงอวตาร (สี่เหลี่ยมจัตุรัสรอบ ฯลฯ ) และตัดสินใจที่จะวาง CSS โดยตรงในตัวย่อ อย่างไรก็ตามฉันรู้แล้วว่านี่ไม่ใช่วิธีที่ดีเพราะมันจะทำ css ซ้ำทุกครั้งที่มีการใช้รหัสย่อบนหน้าเว็บ ฉันเคยเห็นวิธีการอื่น ๆ ในเว็บไซต์นี้และ wp codex ยังมีสองตัวอย่างของพวกเขาเองดังนั้นจึงเป็นการยากที่จะรู้ว่าวิธีใดที่สอดคล้องและรวดเร็วที่สุด นี่คือวิธีที่ฉันรู้อยู่ในขณะนี้: วิธีที่ 1: รวมโดยตรงในย่อ - นี่คือสิ่งที่ฉันกำลังทำอยู่ในปลั๊กอิน แต่ดูเหมือนจะไม่ดีเพราะมันทำซ้ำรหัส class My_Shortcode { function handle_shortcode( $atts, $content="" ) { /* simply enqueue or print the scripts/styles in the …

3
เมื่อใดที่ฉันควรใช้ wp_register_script () กับ wp_enqueue_script () เทียบกับเพียงแค่ wp_enqueue_script ()
wp_register_script()ฉันมีปัญหาในการทำความเข้าใจเมื่อคุณจำเป็นต้องใช้ ขณะนี้ฉันเพิ่งใช้สิ่งที่ชอบ: add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) ); function enqueue() { $handle = 'some-handle'; $js = 'http://example.com/my.js'; wp_register_script( $handle, $js ); wp_enqueue_script( $handle ); } ฉันอ่านจำนวนมากแล้ว (Codex บล็อก ฯลฯ ) แต่ก็ไม่ค่อยเข้าใจเท่าไหร่เมื่อฉันควรลงทะเบียนก่อนหรือเมื่อฉันควรเข้าคิว ตัวอย่างเช่นฉันสังเกตเห็นว่าTwentyTwelveไม่ได้ลงทะเบียนสไตล์หรือสคริปต์ใด ๆ มันแค่ทำให้พวกเขาประหลาดใจ

4
wp-embed.min.js ทำอะไรใน WordPress 4.4
คำถาม ไม่อะไรwp-embed.min.jsไฟล์ทำอย่างไร ฉันสังเกตเห็นว่ามันถูกเพิ่มไปยังส่วนท้ายของส่วนท้ายของหน้าบล็อกของฉัน ฉันจะกำจัดมันได้อย่างไร ความพยายาม หลังจาก googling และฉันพบEmbedsบน Codex ทำไม WordPress ถึงคิดว่าฉันต้องการเพิ่มวิดีโอ ฯลฯ ลงในหน้าของฉันเป็นค่าเริ่มต้น? สิ่งแวดล้อม WordPress 4.4

1
สถานที่ที่เหมาะสมในการลงทะเบียน / เข้าคิวสคริปต์และรูปแบบคือที่ไหน
ฉันใช้ WordPress 3.1.4 ตอนนี้ ฉันสับสนกับที่ฉันใช้ (ซึ่งตะขอ) เพื่อลงทะเบียนและ / หรือเข้าคิว สคริปต์และสไตล์ ทั้งด้านหน้าและด้านหลัง? คำถาม: ตะขออันไหนที่ควรใช้? ฟรอนต์เอนด์สคริปต์ / รูปแบบการลงทะเบียนส่วนหน้าทั้งหมดinitหรือไม่ ทำไมถึงไม่มีadmin_print_styles-{xxx}?

8
การโหลด JavaScript / CSS แบบมีเงื่อนไขสำหรับรหัสย่อ
ฉันปล่อยปลั๊กอินที่สร้างรหัสย่อและต้องใช้ไฟล์ JavaScript และไฟล์ CSS เพื่อโหลดในหน้าใด ๆ ที่มีรหัสย่อนั้น ฉันทำได้เพียงโหลดสคริปต์ / สไตล์ในทุกหน้า แต่นั่นไม่ใช่วิธีปฏิบัติที่ดีที่สุด ฉันต้องการโหลดไฟล์บนหน้าเว็บที่เรียกรหัสย่อเท่านั้น ฉันพบสองวิธีในการทำเช่นนี้ แต่ทั้งคู่มีปัญหา วิธีที่ 1ตั้งค่าสถานะเป็นจริงภายในฟังก์ชันตัวจัดการรหัสย่อและจากนั้นตรวจสอบค่าภายในการwp_footerเรียกกลับ หากเป็นจริงจะใช้wp_print_scripts()เพื่อโหลด JavaScript ปัญหานี้ก็คือว่ามันทำงานเฉพาะสำหรับ JavaScript และ CSS ไม่ได้เพราะ CSS ควรจะประกาศภายใน<head>ซึ่งคุณสามารถทำในช่วงต้นเบ็ดเหมือนหรือinitwp_head วิธีที่ 2เริ่มทำงานตั้งแต่เช้าและ "ดูล่วงหน้า" เพื่อดูว่ามีรหัสย่อในเนื้อหาของหน้าปัจจุบันหรือไม่ ผมชอบวิธีการนี้ดีกว่าครั้งแรก do_shortcode()แต่ปัญหาที่เกิดขึ้นกับมันมันจะไม่ตรวจสอบว่าสายแม่แบบ ดังนั้นฉันโน้มตัวไปใช้วิธีที่สองแล้วลองตรวจสอบว่ามีการกำหนดแม่แบบไว้หรือไม่และหากเป็นเช่นนั้นให้แยกวิเคราะห์สำหรับรหัสย่อ แม้ว่าก่อนหน้านั้นฉันต้องการตรวจสอบว่ามีใครรู้วิธีการที่ดีกว่านี้หรือไม่ อัปเดต:ฉันได้รวมโซลูชันไว้ในปลั๊กอินแล้ว ถ้าใครอยากรู้อยากเห็นที่จะเห็นมันโป่งพองออกมาในสภาพแวดล้อมที่อยู่คุณสามารถดาวน์โหลดได้หรือเรียกดูมัน อัปเดต 2:ในฐานะของ WordPress 3.3 ตอนนี้คุณสามารถโทรwp_enqueue_script()ภายในการโทรกลับด้วยรหัสย่อได้โดยตรงและไฟล์ JavaScript จะถูกเรียกภายในส่วนท้ายของเอกสาร ในทางเทคนิคนั้นเป็นไปได้สำหรับไฟล์ CSS เช่นกัน แต่ควรได้รับการพิจารณาว่าเป็นวิธีปฏิบัติที่ไม่ดีเนื่องจากการส่งออก CSS นอก<head>แท็กนั้นเป็นการละเมิดข้อกำหนดของ W3C สามารถเป็นกรณี …

4
จะแทนที่ไฟล์ JavaScript ในธีมลูกได้อย่างไร?
ฉันกำลังโหลดไฟล์ JavaScript บางไฟล์ในธีมหลัก พา ธ ในธีมพาเรนต์คือ: scripts > custom.js ในธีมลูกฉันกำลังสร้างพา ธ เดียวกัน ( scripts > custom.js) และเปลี่ยน jQuery บางส่วนภายในcustom.jsไฟล์ ปัญหาคือว่าการเปลี่ยนแปลงจะไม่ถูกนำไปใช้ นี่เป็นวิธีที่ผิดที่จะเปลี่ยนแปลงไฟล์เหล่านี้ในธีมลูกหรือไม่?

6
wp enqueue สคริปต์แบบอินไลน์เนื่องจากการพึ่งพา
มีวิธีใช้ wp_enqueue_script () สำหรับสคริปต์แบบอินไลน์หรือไม่ ฉันทำเช่นนี้เพราะสคริปต์แบบอินไลน์ของฉันขึ้นอยู่กับสคริปต์อื่นและฉันต้องการความยืดหยุ่นในการแทรกหลังจากที่โหลดแล้ว นอกจากนี้ยังเป็นสคริปต์แบบอินไลน์เนื่องจากฉันส่งตัวแปร php ไปยังจาวาสคริปต์ (เช่นเส้นทางธีม ฯลฯ ) ขอบคุณล่วงหน้า.

2
ฉันจะถอนออกจากไฟล์ CSS ของธีมหลักได้อย่างไร
ธีมหลักของฉัน (Starkers) เพิ่มไฟล์ CSS ที่ฉันพยายามลบ (ฉันต้องการใช้ @import แทนเพื่อให้ฉันสามารถแทนที่สไตล์ได้ง่ายขึ้น) Starkers มีสิ่งต่อไปนี้ใน function.php: add_action( 'wp_enqueue_scripts', 'script_enqueuer' ); function script_enqueuer() { wp_register_script( 'site', get_template_directory_uri().'/js/site.js', array( 'jquery' ) ); wp_enqueue_script( 'site' ); wp_register_style( 'screen', get_template_directory_uri().'/style.css', '', '', 'screen' ); wp_enqueue_style( 'screen' ); } ฉันได้ลองทำสิ่งต่อไปนี้ในฟังก์ชั่นสำหรับเด็กแล้ว แต่ลิงก์และแท็กสคริปต์ยังคงปรากฏในส่วนหัว add_action('init', 'removeScripts'); function removeScripts() { wp_dequeue_style('screen'); wp_deregister_script('site'); } ฉันได้ตรวจสอบสองครั้งเพื่อดูว่าพวกเขาเข้ารหัสยากในส่วนหัวหลักและพวกเขาไม่ได้

2
ตรวจสอบว่าสคริปต์ / สไตล์ถูกจัดคิว / ลงทะเบียน
เป็นไปได้ไหมที่จะทดสอบว่าสคริปต์หรือสไตล์ได้รับการลงทะเบียนโดยใช้wp_register_script/_styleหรือwp_enqueue_script/_styleไม่? ฟังก์ชั่นทั้งหมดไม่ได้คืนค่าและฉันก็ไร้เดียงสาอย่างสมบูรณ์ ฉันต้องการมันเพื่อสลับระหว่างฟังก์ชั่นที่แตกต่างกันขึ้นอยู่กับสไตล์ชีต - ไลบรารีและสคริปต์ที่ฉันเสนอ ขอขอบคุณ!

1
จะเพิ่มแท็ก defer =“ defer” ใน javascripts ปลั๊กอินได้อย่างไร
ฉันไม่สามารถเพิ่มแท็กที่เลื่อนออกไปในปลั๊กอินจาวาสคริปต์ การทดสอบหน้าเว็บสำหรับนักพัฒนาซอฟต์แวร์ของ Google แนะนำให้ฉันเพิ่มแท็กที่เลื่อนออกไปในรูปแบบการติดต่อ 7 javascripts นี่คือวิธีที่ฟอร์มการติดต่อ 7 รวมถึงจาวาสคริปต์ในส่วนหัว add_action( 'wp_enqueue_scripts', 'wpcf7_enqueue_scripts' ); function wpcf7_enqueue_scripts() { // jquery.form.js originally bundled with WordPress is out of date and deprecated // so we need to deregister it and re-register the latest one wp_deregister_script( 'jquery-form' ); wp_register_script( 'jquery-form', wpcf7_plugin_url( 'jquery.form.js' ), array( 'jquery' …

4
เป็นไปได้หรือไม่ที่จะใช้ wp_localize_script เพื่อสร้างตัวแปร JS ทั่วโลกโดยไม่มีการจัดการสคริปต์ที่เฉพาะเจาะจง?
เราสามารถใช้ wp_localize_script () เพื่อสร้างตัวแปร js ทั่วโลกโดยไม่มีการจัดการสคริปต์ที่เฉพาะเจาะจงซึ่งสามารถเข้าถึงได้จากไฟล์ js ทั้งหมดแม้ว่าสคริปต์ js จะไม่ถูกจัดคิวอย่างเหมาะสมโดยใช้ wp_enqueue_script หรือไม่ นี่คือรหัสที่ฉันใช้ซึ่งสร้าง varibale สำหรับ 'ajaxscript' หมายเลขอ้างอิงดังนั้นฉันไม่สามารถเข้าถึงวัตถุ 'ajaxobject' ในไฟล์ js ซึ่งถูกรวมอยู่ใน header.php โดยตรงโดย <script src="xxx" .... /> wp_register_script( 'ajaxscript', get_bloginfo( 'template_url' ) . '/js/ajaxscript.js', array(), $version ); wp_enqueue_script( 'ajaxscript' ); wp_localize_script( 'ajaxscript', 'ajaxobject', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'ajaxnonce' …

4
สามารถใช้สคริปต์ / ตัวโหลดสไตล์ WP เพื่อเชื่อมสคริปต์สคริปต์และสไตล์เข้ากับส่วนหน้าได้หรือไม่
WP มีตัวโหลดจาวาสคริปต์ที่ดีรวมอยู่ใน wp-admin: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-scripts.php และตัวโหลด CSS: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-styles.php ฉันสงสัยว่ามันเป็นไปได้ที่จะใช้พวกเขาในส่วนหน้าเช่นกันไม่เพียง แต่ผู้ดูแลระบบเพราะพวกเขาสามารถเชื่อมสคริปต์ที่เข้าคิวทั้งหมดและเชื่อมต่อกับพวกเขาเป็นไฟล์ gzipped ไฟล์เดียว

5
วิธีเพิ่มข้อมูลจาวาสคริปต์ในส่วนท้ายที่ต้องการ jQuery
ฉันรู้ว่าฉันสามารถเพิ่มไฟล์สคริปต์ลงในส่วนท้ายของ wordpress ที่ต้องการ jquery โดยใช้รหัสนี้: <?php function my_scripts_method() { // register your script location, dependencies and version wp_register_script('custom_script', get_template_directory_uri() . '/js/custom_script.js', array('jquery'), '1.0', true); // enqueue the script wp_enqueue_script('custom_script'); } add_action('wp_enqueue_scripts', 'my_scripts_method'); ?> แต่ถ้าฉันต้องการเพิ่มเพียงส่วนย่อยของ jquery แบบอินไลน์ไม่ใช่ไฟล์ วิธีนี้สามารถทำได้ แก้ไข ฉันรู้ว่าฉันสามารถใช้สคริปต์นี้เพื่อเพิ่มบางอย่างลงในส่วนท้าย: <?php function myscript() { ?> <script type="text/javascript"> // This depends on …

2
ajaxurl ไม่ได้ถูกกำหนดไว้ที่ส่วนหน้า
ฉันพยายามสร้าง ajaxform ที่ด้านหน้า ฉันกำลังใช้รหัส jQuery.ajax( { type: "post", dataType: "json", url: ajaxurl, data: formData, success: function(msg){ console.log(msg); } }); ซึ่งฉันได้รับข้อผิดพลาด Uncaught ReferenceError: ajaxurl is not definedworklorAjaxBookForm @ ?page_id=2:291onclick @ ?page_id=2:202 ในขณะที่ใช้รหัสที่คล้ายกันในงานแบ็กเอนด์ผู้ดูแลระบบ ฉันต้องใช้ URL ใดในการประมวลผลคำขอ ajax

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.