คำถามติดแท็ก ajax

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

2
Ajax ใช้เวลา 10 เท่าตราบเท่าที่ควร / สามารถทำได้
ฉันเพิ่งจะตีปัญหาร้ายแรงครั้งแรกของฉันกับ WordPress และสำหรับคนที่ชอบ Ajax นี่เป็นเรื่องใหญ่ ฉันมีคำขอ Ajax ที่ใช้เวลา 1.5 วินาทีจึงจะเสร็จสมบูรณ์ในขณะที่ใช้ Ajax API ถ้าฉันใช้รหัสที่แน่นอนเหมือนกันและเรียกใช้ด้วยสคริปต์ที่กำหนดเอง (ไม่มี WordPress) คำขอ Ajax ใช้เวลาเพียง 150 มิลลิวินาที นี่ไม่ใช่การพูดเกินจริง หากคุณดูความคิดเห็นแรกของhttp://wp.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/และการสนทนาที่ตามมาคุณจะเห็นว่าความช้านี้เกิดขึ้น จากข้อเท็จจริงที่ว่าตามคำขอของคุณโหลด WP ทั้งหมด ... ฉันหวังว่าจะมีวิธีแก้ไขปัญหาที่จะทำให้สามารถทำการร้องขอ Ajax ได้ในขณะที่ไม่โหลด WordPress ทั้งหมด ประสบการณ์ของคุณในการเร่งการร้องขอ Ajax กับ WordPress คืออะไร?
50 ajax  performance 

1
วิธีที่ดีที่สุดในการเขียนปลั๊กอินที่เปิดใช้งาน AJAX คืออะไร
ฉันสงสัยว่าวิธีที่ต้องการสำหรับจัดการกับการโทร AJAX คืออะไร เราควรใช้ไฟล์ปลั๊กอิน php เดียวกันเพื่อประมวลผล POST หรือไฟล์อื่น? อันไหนสะอาดกว่าหรือปลอดภัยกว่า?

13
ผู้ดูแลระบบ Ajax กำลังส่งคืน 0
ฉันค่อนข้างใหม่สำหรับ jQuery และ AJAX โดยเฉพาะ ฉันมีปัญหาเล็ก ๆ ที่มีค่าส่งคืนเป็น 0 เสมอแม้ว่าฉันคิดว่านี่เป็นข้อความความสำเร็จที่แท้จริงและมันไม่ได้ส่งคืนอะไรเลย ฉันขัดจังหวะ Google ข้อและฉันมีฟังก์ชั่นตาย () ในการเรียกกลับ PHP และฉันเชื่อว่า add_actions นั้นถูกต้อง ฉันทำงานกับโฮสต์ในพื้นที่ แต่ฉันสงสัยว่ามีผลกระทบกับมันและนี่คือทั้งหมดในผู้ดูแลระบบไม่ใช่ส่วนหน้า ฉันยังตรวจสอบว่า js จัดทำและแปลเป็นภาษาท้องถิ่นแล้ว ฉันได้รับข้อความ 200 OK ในพื้นที่นักพัฒนา chrome ฉันยังทดสอบ AJAX ขั้นพื้นฐานจากhttp://codex.wordpress.org/AJAX_in_Pluginsและมันกลับมาเป็น 0 ซึ่งทำให้ฉันสงสัยว่าเป็นสิ่งอื่นที่ไม่ใช่รหัสที่ระบุไว้ด้านล่าง ตอนนี้ฉันแค่พยายามทำให้มันส่งบางสิ่งกลับไปยัง jQuery ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม jQuery jQuery(document).ready(function(){ jQuery('.cl_link_buttons').val('id').click(function() { var currentid = jQuery(this).attr('id'); //alert(currentid); console.log(currentid); jQuery.ajax …
28 admin  ajax 

4
จะตรวจสอบได้อย่างไรว่าฉันอยู่ใน admin-ajax.php
ตอนนี้สำหรับปลั๊กอินของฉันฉันใช้in_admin()เพื่อตรวจสอบว่าผู้ใช้อยู่ในส่วนหน้าของเว็บไซต์หรือในพื้นที่ผู้ดูแลระบบ อย่างไรก็ตามปัญหาเกิดขึ้นเมื่อปลั๊กอินใช้admin-ajax.phpเพื่อประมวลผลคำขอ ajax ฉันต้องการวิธีการลงทะเบียน hooks และ plugins เฉพาะเมื่อประมวลผลadmin-ajax.phpไฟล์หรือในส่วนหน้าของเว็บไซต์ วิธีที่ดีที่สุดในการทำเช่นนั้นคืออะไร?
27 ajax 

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

2
ไฟล์ functions.php เคยถูกเรียกระหว่างการโทร AJAX หรือไม่? แก้ไขข้อผิดพลาด AJAX
พยายามคิดให้ออกว่าโปรแกรมเมอร์คนอื่นกำลังทำอะไรอยู่ ฉันสงสัยว่าfunctions.phpไฟล์จะถูกเรียกใช้เมื่อคุณจัดการด้าน AJAX หรือไม่? ฉันรู้ว่าเมื่อคุณทำการโทร AJAX ส่วนหนึ่งของ WP จะถูกโหลดขึ้นเพื่อประมวลผลการโทรและส่งการตอบกลับ มีfunctions.phpไฟล์อยู่ในนั้นหรือไม่? เหตุผลที่ฉันถามคือเพราะเขาใช้คลาสจากปลั๊กอิน Meta-Box และโหลดเป็นส่วนหนึ่งของธีมแทน มี AJAX บางตัวในคลาสนั้นที่ส่งคืนการตอบกลับที่ว่างเปล่าเท่านั้นและฉันคิดว่าเป็นเพราะโค้ดที่จัดการการตอบกลับไม่ได้รับการโหลด มีเอกสารอะไรที่จะโหลดเมื่อ WP จัดการ AJAX หรือไม่

8
วิธีโหลด wp_editor () ผ่าน AJAX / jQuery
ฉันมีชุดรูปแบบที่พัฒนาขึ้นเองและซับซ้อนมาก หนึ่งในสิ่งที่ฉันมีคือหลายพื้นที่เนื้อหาที่ผู้ใช้สามารถระบุเนื้อหาสำหรับแท็บเฉพาะ ฉันโหลดตัวแก้ไข WordPress หลายอินสแตนซ์ผ่านwp_editor()ฟังก์ชั่น มันทำงานได้อย่างสมบูรณ์ (นี่คือทั้งหมดที่ด้านผู้ดูแลระบบในประเภทโพสต์ "หน้า") อย่างไรก็ตามฉันเริ่มทำการปรับปรุงเล็กน้อยรวมถึงความสามารถในการเพิ่ม / ลบแท็บแบบไดนามิก (ก่อนหน้านี้ฉันโหลดตัวแก้ไข 6 ตัวบนหน้าเว็บ) ผู้ใช้อาจมี 1-7 แท็บ เมื่อผู้ใช้เพิ่มแท็บนั้นจะต้องเพิ่มอินสแตนซ์ของตัวแก้ไขในหน้า อย่างไรก็ตามไม่ว่าฉันจะพยายามอะไรฉันก็ไม่สามารถโหลดและแสดงผลได้อย่างถูกต้อง นี่คือ 2 สิ่งที่ฉันได้ลองไปแล้ว: สร้างไฟล์ PHP wp_editor()ที่มีบูตผู้ดูแลระบบรวมแล้วโหลดโปรแกรมแก้ไขด้วย จากนั้นฉันจะทำ jQuery $.loadเพื่อโทรหาหน้าและรวม HTML ที่เป็นผลลัพธ์ไว้ในพื้นที่ที่ต้องการแสดง วิธีนี้ใช้ไม่ได้ผลเนื่องจากปุ่มการจัดรูปแบบตัวแก้ไขหายไป (มันน่าสังเกตว่าการดึงหน้าขึ้นมาโดยตรงตัวแก้ไขจะแสดงและทำงานได้อย่างสมบูรณ์) โหลดเอดิเตอร์บนหน้าภายใน div ที่ซ่อนอยู่จากนั้นเมื่อเพิ่มแท็บแล้วให้ใช้ jquery เพื่อย้ายลงในตำแหน่ง สิ่งนี้จะโหลดตัวแก้ไขอย่างชาญฉลาด แต่คุณไม่สามารถใช้ปุ่มตัวแก้ไขใด ๆ (พวกเขาแสดง แต่ไม่ได้ทำอะไรเลย) และคุณไม่สามารถวางเคอร์เซอร์ของคุณในพื้นที่ข้อความ (อย่างไรก็ตามอยากรู้อยากเห็นว่าสลับไปยังโหมด HTML อนุญาตให้พิมพ์และโต้ตอบกับปุ่มโหมด HTML) ดังนั้นคำถามคือมีใครมีโชคเพิ่มบรรณาธิการผ่านสาย AJAX หรือไม่ …
22 ajax  wp-editor 

5
Ajax call ส่งคืนค่า 0 เสมอ
ฉันมีปัญหากับ AJAX ที่ส่งคืนค่า 0 เสมอ! ฉันทำทุกอย่างตามหนังสือแล้วไม่สามารถเข้าใจได้ว่าเกิดอะไรขึ้น กรุณาช่วย!! นี่คือการโทร Ajax ของฉัน: //Pass data through AJAX var amountToConvert = price; jQuery.ajax({ type:"POST", url: "../../wp-admin/admin-ajax.php", // our PHP handler file action: "ajaxConversion", data: { amount: amountToConvert }, success:function(data){ alert(data); }, error: function(errorThrown){ alert(errorThrown); } }); return false; และฟังก์ชั่นใน functions.php คือ: function ajaxConversion(){ $amount …
18 functions  ajax 

2
วิธีโหลด wp_editor ผ่าน AJAX
ไม่มีใครรู้ว่าวิธีการโหลด wp_editor ผ่าน AJAX ใน WordPress? มาร์กอัปและตัวแก้ไขของฉันกำลังโหลดอย่างถูกต้อง แต่ตัวควบคุมตัวแก้ไขไม่สามารถโหลดได้อย่างถูกต้องอาจเป็นเพราะ Javascript ไม่ทำงานในการโทร AJAX ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

3
การเพิ่ม admin-ajax.php ไปยังส่วนหน้า ความคิดที่ดีหรือไม่ดี?
ฉันรัก admin-ajax.php แต่ฉันเกลียดที่จะแปลเป็นภาษาท้องถิ่นเพื่อชี้สคริปต์ส่วนหน้าให้กับมันและฉันหวังว่าจะมีไฟล์ที่เทียบเท่าและหาได้ง่ายสำหรับธีม (มันก็แค่ทำให้ฉันรำคาญที่จะเห็นคำขอส่วนหน้าผ่าน "/ wp-admin /" ไม่มีเหตุผลจริงเพียงดู IMO น่าเกลียด) ดังนั้นฉันเพียงแค่คัดลอก admin-ajax.php ไปยัง root dir ที่ "/ajax.php" ปรับเส้นทางการรวมและลบ WP_ADMIN คำจำกัดความคงที่ ดูเหมือนว่าจะทำงานเหมือนกับพวกแก๊งค์บัส (ตอนนี้ฉันสามารถส่งคำขอ AJAX ส่วนหน้าทั้งหมดของฉันไปที่ /ajax.php! แต่จะปลอดภัยหรือไม่ มีอะไรผิดปกติ? เนื่องจากสิ่งนี้ไม่ได้อยู่ในแกนฉันคิดว่ามีเหตุผลที่ดีว่าทำไมไม่ แต่เมื่อมองดูจากรหัสฉันไม่สามารถเห็นปัญหาได้ทันที คุณฉลาด - บอกฉันว่าวิธีนี้บ้า หรือถ้ามีวิธีที่ง่ายกว่าที่ฉันมองเห็น
17 themes  ajax 

1
ทำไม WordPress เพิ่ม 0 (ศูนย์) ลงในการตอบกลับ Ajax
ถ้าฉันจบฟังก์ชั่นการประมวลผลโดยอาแจ็กซ์exit()หรือdie()ฟังก์ชั่นได้รับอาแจ็กซ์ที่ต้องการและการส่งออกที่ถูกต้อง 0แต่ต่อไปนี้โดย ความคิดใดที่เกิดขึ้น นั่นหมายความว่าเป็นแบบนั้นหรืออาจแก้ไขได้? add_action('wp_ajax_get_homepage', 'get_homepage'); add_action('wp_ajax_nopriv_get_homepage', 'get_homepage'); function get_homepage(){ echo "get_homepage ->"; exit(); } ฉันเคยอ่านที่AJAX ในโปรแกรมเสริมแต่ทำไมถึงจำเป็น?

3
400 คำขอไม่ถูกต้องบน admin-ajax.php ใช้เบ็ดการกระทำ wp_enqueue_scripts เท่านั้น
ฉันทำงานอาแจ็กซ์เมื่อเร็ว ๆ นี้ บทเรียนที่คุณพบบนอินเทอร์เน็ตนั้นคล้ายกันมากและง่ายต่อการใช้งาน แต่ฉันมักจะได้รับคำขอที่ไม่ดี 400ในajax-admin.phpไฟล์ของฉัน หลังจากการค้นหาที่ยาวนานและเข้มข้นตอนนี้ฉันค้นพบแล้วว่าเป็นเพราะช่วงเวลาแห่งการรวมกลุ่ม ถ้าฉันใช้initaction hook เพื่อเริ่มต้นสคริปต์และwp_localize_scriptทุกอย่างทำงานได้ดี ดังนั้นรหัสจะต้องถูกต้อง ฉัน-หน้าทดสอบ functions.php function ajax_login_init(){ wp_register_script('ajax-login-script',get_stylesheet_directory_uri().'/js/ajax-login-script.js',array('jquery')); wp_enqueue_script('ajax-login-script'); wp_localize_script('ajax-login-script','ajax_login_object',array('ajaxurl' => admin_url('admin-ajax.php'),'redirecturl' => 'REDIRECT_URL_HERE','loadingmessage' => __('Sending user info, please wait...'))); add_action('wp_ajax_nopriv_ajaxlogin','ajax_login'); } if(!is_user_logged_in()){ add_action('init','ajax_login_init'); } function ajax_login(){ //nonce-field is created on page check_ajax_referer('ajax-login-nonce','security'); //CODE die(); } แต่ถ้าฉันใช้เช่นwp_enqeue_scriptsaction hook ฉันจะได้รับคำขอที่ไม่ดีเสมอ if(!is_user_logged_in()){ add_action('wp_enqueue_scripts','ajax_login_init'); } …
16 functions  ajax 

8
วิธีที่ดีที่สุดในการจบคำขอ WordPress ajax และทำไม
พิจารณาคำขออาแจ็กซ์ WordPress แบบปกติเช่นนี้: add_action( 'wp_ajax_merrychristmas_happynewyear', array( $this, 'merrychristmas_happynewyear' ) ); add_action( 'wp_ajax_nopriv_merrychristmas_happynewyear', array( $this, 'merrychristmas_happynewyear' ) ); มันจะดีที่สุดในการฟังก์ชั่นที่สิ้นสุดmerrychristmas_happynewyearกับdie(), die(0), wp_die()หรือสิ่งอื่นและทำไม?
16 ajax 

4
วิธีการแคช json ด้วย wp-super cache
ในโครงการใหม่เราใช้ wp-super-cache (ปลั๊กอินที่ลูกค้าต้องการ) เพื่อสร้างไฟล์ html แบบคงที่สำหรับประเภทเนื้อหาที่กำหนดเอง แต่เรากำลังพยายามหาว่าทุกอย่างถูกแคชอย่างเหมาะสมหรือไม่ นี่เป็นคำถาม 2 ส่วน 1) ชุดรูปแบบที่เราสร้างขึ้นใช้เทมเพลตหน้าเพื่อส่งออก json ที่ติดเครื่องผ่านการโทร ajax กล่าวคือ หากคุณเข้าชมหน้าเว็บ: theurl.com/sample - คุณจะได้รับ json บริสุทธิ์ ในขณะที่มีทุกรุ่นและไม่ใช่จาวาสคริปต์ทุกหน้าและโพสต์ Ajax ไดรฟ์ส่วนหน้าของชุดรูปแบบนี้ เราได้ลบส่วนหัวและส่วนท้ายในไฟล์เหล่านี้เพื่อให้เป็น json บริสุทธิ์และเราพยายามที่จะหาวิธีการตรวจสอบว่า json จะถูกแคช ในทางทฤษฎีข้อมูลจะถูกเก็บไว้เพราะในทางเทคนิคหน้าที่ให้บริการโดย wordpress แต่เราจะรู้ได้อย่างไรว่ามันถูกเก็บไว้? 2) เรากำลังใช้ปลั๊กอิน json api เพื่อแสดงข้อมูลโพสต์บางอย่างเช่นกัน http://wordpress.org/extend/plugins/json-api/ สำหรับตัวอย่างนี้สมมติว่าเราใช้ประโยชน์จากวิธีการเริ่มต้นของปลั๊กอินและกดหน้านี้: url.com/category/news?json=1 ใครรู้วิธีที่เราสามารถตรวจสอบว่าการส่งออกนี้จะถูกแคช? หากไม่มีการแคชวิธีการนี้จะทำให้เกิดขึ้นได้อย่างไร ดูเหมือนจะไม่มีข้อมูลมากนักเกี่ยวกับออนไลน์นี้ดังนั้นในการสร้างเว็บไซต์เวิร์ดเพรสที่น่าดึงดูดและเหมาะสม

4
admin-ajax.php ทำงานอย่างไร
เรากำลังประสบปัญหาบางอย่างกับผู้พัฒนาภายนอก เราต้องการ จำกัด การเข้าถึงwp-adminเว็บไซต์เพื่อการเข้าถึงภายในเท่านั้น (ผ่านVPN ) เพียงเพื่อจะไม่ถูกโจมตีจากผู้ใช้ภายนอก เราสามารถระบุผู้ดูแลระบบจากเว็บไซต์และไม่ต้องการให้พวกเขาเป็นฟิชชิ่ง นักพัฒนาของเรากำลังพูดว่าเราไม่สามารถทำเช่นนั้นได้เนื่องจากเว็บไซต์จะต้องเข้าถึงหน้าผู้ดูแลระบบจากภายนอกเพื่อให้หน้าทำงานได้ โดยเฉพาะadmin-ajaxหน้า อะไรadmin-ajax.phpหน้าทำอย่างไร ตั้งอยู่ในส่วนผู้ดูแลระบบของ WordPress มันเข้าถึงไม่ได้รับการรับรองโดยผู้ใช้ปลายทางหรือไม่ เป็นวิธีที่ไม่ปลอดภัยหรือไม่ที่จะให้ผู้ใช้ภายนอกนี้ใช้งานได้
14 admin  ajax  security 

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