ปัญหาในการเผยแพร่ Live Writer ด้วย WordPress
เมื่อเร็ว ๆ นี้ Live Writer เริ่มก่อให้เกิดปัญหาอย่างน้อยสองกรณี:
1. เมื่อสร้างบทความใหม่การอัปโหลดจะส่งข้อความแสดงข้อผิดพลาดแม้ว่าจะอัปโหลดบทความแล้วก็ตาม จากนั้นเมื่อลองอีกครั้งให้สร้างบทความใหม่เพื่อที่ในขณะที่สังเกตเห็นกรณีนี้มีบทความหลายบทความที่ตีพิมพ์ในชื่อเดียวกันและด้านล่างดูเหมือนว่าจะไม่มีการอัปโหลดอะไรเลย
2. หากมีการเปิดบทความที่เผยแพร่แล้วการอัปเดตจะส่งข้อความแสดงข้อผิดพลาดแม้ว่าการอัปเดตจะสำเร็จแล้วก็ตาม
ปัญหาทั้งหมดอยู่ในการอัปเดตบรรทัดไฟล์ ชั้น WP-XMLRPC-server.php ซึ่งไม่ได้ส่งข้อความตอบกลับ สิ่งเดียวกันนี้จะเกิดขึ้นเมื่อทำจากแพลตฟอร์มระยะไกลผ่านเมตาเว็บบล็อกเช่นเดียวกับในกรณีของ Blogsy จาก iPad / iPhone
ข้อความมีลักษณะดังนี้:
การตอบสนองต่อเมธอด metaWeblog.editPost ที่ได้รับจากเซิร์ฟเวอร์บล็อกไม่ถูกต้อง: เอกสารตอบกลับไม่ถูกต้องส่งคืนจากเซิร์ฟเวอร์ XmlRpc
ผลลัพธ์คือ: คุณต้องป้อนไฟล์ผ่าน cPanel หรือบริการโฮสติ้ง /public_html/wp-includes/class-wp-xmlrpc-server.php และมีการค้นหาบรรทัด 3948 สำหรับรหัส:
if (is_array ($ ไฟล์แนบ)) {
foreach ($ ไฟล์แนบเป็น $ ไฟล์) {
ถ้า (strpos ($ post_content, $ file-> guid)! == false)
$ wpdb-> อัปเดต ($ wpdb-> โพสต์อาร์เรย์ ('post_parent' => $ post_ID) อาร์เรย์ ('ID' => $ file-> ID));
จะต้องได้รับการแก้ไขเป็น:
if (is_array ($ ไฟล์แนบ)) {
foreach ($ ไฟล์แนบเป็น $ ไฟล์) {
ถ้า ($ file-> guid &&! ($ file-> guid == NULL))
ถ้า (strpos ($ post_content, $ file-> guid)! == false)
$ wpdb-> อัปเดต ($ wpdb-> โพสต์อาร์เรย์ ('post_parent' => $ post_ID) อาร์เรย์ ('ID' => $ file-> ID));
หากได้รับการแก้ไขสิ่งที่เราทำคือเพิ่มบรรทัดที่ทำเครื่องหมายเป็นสีแดง
ด้วยเหตุนี้ปัญหาควรได้รับการแก้ไข ด้วยความระมัดระวังว่าเมื่ออัปเดต WordPress คุณต้องทำอีกครั้งในขณะที่ไม่ได้แก้ปัญหาอย่างถาวร