Wordpress เพิ่ม“ & nbsp;” โดยอัตโนมัติหรือไม่


12

ฉันไม่แน่ใจว่า wordpress นั้นหรือ Tiny MCE กำลังทำอะไรอยู่ แต่เมื่อสลับไปมาระหว่าง HTML และ Visual Editor มันเพิ่ม และเพิ่มพิเศษทุกครั้งที่สลับไปมา ฉันไม่ได้มีการแบ่งบรรทัดในรหัสดูเหมือนว่าจะตัดสินใจที่ที่พวกเขาต้องการวางตามแท็กในรหัส html ของฉัน

อะไรเป็นสาเหตุของปัญหานี้และฉันจะแก้ไขได้อย่างไร

ฉันได้ลองแล้วในไฟล์ฟังก์ชั่นแม่แบบ:

//disable auto p
remove_filter ('the_content', 'wpautop');
remove_filter ('comment_text', 'wpautop');
// Remove auto formatting
remove_filter('the_content', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
remove_filter('the_title', 'wptexturize');

2
ที่จริงแล้วมันทำสิ่งนี้โดยอัตโนมัติเมื่อคุณสลับแท็บฉันสังเกตเห็นมันด้วยและพบว่ามันน่ารำคาญมาก ยังไม่มีเบาะแสเกี่ยวกับวิธีการแก้ไขแม้ว่า ...
Joost de Valk

1
ฉันใช้โปรแกรมแก้ไข HTML โดยเฉพาะวางโค้ดไว้ที่นั่นจาก BBEdit ดูเหมือนว่าฉันจะทำเช่นนี้เมื่อฉันบันทึกใน WP
Goodbye Stack Exchange

ฉันมีปัญหานี้เช่นกัน เมื่อฉันโพสต์ด้วยตนเองและคลิกที่ปุ่มมันจะเพิ่มวรรคให้ฉัน สิ่งนี้เกิดขึ้นหลังจากฉันติดตั้ง mce ขนาดเล็ก คุณหมายถึงอะไรโดยนี้ต่อไป: tiny_mce_init กรองเพื่อแทนที่กฎเนื้อหากรองเริ่มต้น

1
สิ่งนี้เกิดขึ้นกับฉันในชื่อโพสต์ในลูป ดูเหมือนจะไม่พิจารณา (เกิดขึ้นกับอักขระเว้นวรรคบางตัวของบางบทความเท่านั้น)
Drewdavid

ฉันพยายามหาวิธีแก้ปัญหาง่าย ๆ สำหรับปัญหานี้: wordpress.stackexchange.com/a/291746/135285
AturSams

คำตอบ:


2

ทั้งหมดที่ฉันใช้คือremove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' );และนั่นห้ามไม่ให้ Wordpress สร้างมาร์กอัพพิเศษใด ๆ คุณกำลังคัดลอกและวางรหัสของคุณจากเครื่องมือแก้ไขภายนอกหรือไม่?


4
ไม่ได้ผลสำหรับฉัน หากไม่ใช้ Tiny MCE เพียงแค่ใช้ HTML ในการอัปเดตจะยังเพิ่ม s
Christian

3
ยังใช้งานไม่ได้สำหรับฉัน
sidonaldson

4

ฉันพบว่ามีการแทรกช่องว่างแบบไม่แตกหักเมื่อฉันใช้ช่องว่างสองช่องหลังจากระยะเวลาหนึ่ง บรรณาธิการดูเหมือนจะตีความพื้นที่พิเศษเป็นความพยายามในส่วนของฉันที่จะใช้ช่องว่างสำหรับการจัดรูปแบบข้อความ

หากฉันคัดลอกและวางบทความของฉันจากตัวแก้ไข Wordpress ลงในตัวแก้ไขข้อความที่รองรับการแสดงผลฐานสิบหก (ฉันใช้ EditPad Pro) ฉันเห็นข้อความที่ฉันคิดว่าเป็นระยะเวลาตามด้วยช่องว่างสองช่องคือข้อความจริง พื้นที่ตามด้วยอักขระที่มี A0 รหัสฐานสิบหกซึ่งเป็น Unicode NO-BREAK SPACEตัวอักษร

ฉันสามารถลบช่องว่างที่ไม่ทำลายในบทความที่มีอยู่ด้วยการแทนที่ช่องว่างตามด้วยอักขระ NO_BREAK SPACE ด้วยช่องว่าง ในโปรแกรมแก้ไขข้อความส่วนใหญ่คุณควรสามารถทำได้ด้วยการค้นหาและแทนที่โดยการคัดลอก "สองช่องว่าง" ลงในกล่องค้นหาข้อความและเขียนช่องว่างเดียวลงในกล่องข้อความแทนที่

ฉันสามารถหลีกเลี่ยงปัญหาที่จะเกิดขึ้นได้โดยพิมพ์เพียงช่องว่างเดียวหลังจากผ่านไประยะหนึ่ง


3

อะไรเป็นสาเหตุของปัญหานี้และฉันจะแก้ไขได้อย่างไร

เนื้อหาใด ๆ ที่เพิ่มหรือลบออกจากเนื้อหาโพสต์ของคุณนั้นเกิดจากtiny_mce_initการใช้กฎการกรองเนื้อหา

วิธีในการป้องกันคือ:

  1. ตัวกรองtiny_mce_initเพื่อลบล้างกฎการกรองเนื้อหาเริ่มต้น
  2. สลับหยุดระหว่างบรรณาธิการภาพและ HTML จริงๆ; ถ้าคุณต้องการที่จะใช้ตัวเลือก # 1 ข้างต้นไม่สลับระหว่างบรรณาธิการ WordPress มีวัตถุประสงค์เพื่อใช้งานเช่นเนื้อหาที่ถูกป้อนโดยใช้โปรแกรมแก้ไขVisualหรือHTMLแต่ไม่พร้อมกันทั้งคู่

ตัวอย่างใช้สำหรับtiny_mce_before_initตัวกรองใน Codex ตัวอย่างของอีกTinyMCE กำหนดค่า / การปรับแต่งใน Codex ที่นี่


11
ฉันค่อนข้างแน่ใจว่าคำตอบ # 2 ของคุณผิด นั่นหรือใครบางคน "เมาสุนัข" บน UI หากโปรแกรมแก้ไขมีวัตถุประสงค์เพื่อใช้เป็น Visual หรือ HTML เท่านั้นเหตุใดแท็บจึงมีเลย ทำไมไม่เพียงให้มันเป็นตัวเลือกภายใต้การตั้งค่าเพื่อใช้อย่างใดอย่างหนึ่งหรืออื่น ๆ ? ยิ่งไปกว่านั้นแท็บจะมีตามค่าเริ่มต้น ... ไม่ใช่คุณสมบัติขั้นสูงสำหรับนักพัฒนาหรือตัวเลือกที่คุณต้องติดตั้ง ฉันค่อนข้างแน่ใจว่าพวกเขาตั้งใจให้ผู้ใช้สามารถคลิกไปมาระหว่างกันและปัญหาที่แท้จริงคือบางครั้งพวกเขาไม่ทำงานร่วมกันได้ดี (โดยเฉพาะในกรณีของการจัดรูปแบบช่องว่าง)
luckykind

1
@ Luckykind ไม่พวกเขาไม่ได้ตั้งใจที่จะสลับไปมาระหว่างพวกเขา นั่นเป็นเพียงปัญหาสถาปัตยกรรมของTinyMCE และมันก็ไม่ได้เป็นเพียงคนเดียว
ไกเซอร์

3
คุณไม่สามารถบอกฉันได้ว่า UI ที่มีแท็บให้สลับไปมาระหว่าง HTML และการแก้ไขภาพไม่ได้มีไว้เพื่อใช้ในทางนั้น เกือบ 2016 และปัญหายังคงมีอยู่
Eric J.

1
ฉันคิดว่าคอมพิวเตอร์ของฉันไม่ได้ตั้งใจจะเปิด แต่เนื่องจากมีปุ่มเปิดปิดเราจึงเปิดใช้งานดังนั้นปัญหาทั้งหมดจึงเป็นความผิดของผู้ใช้ การออกแบบและรหัสนั้นไร้ที่ติอย่างเห็นได้ชัด
AturSams

1

ฉันใช้ Wordpress สำหรับบล็อกภาษาฮิบรู

วิธีแก้ปัญหา: คัดลอกข้อความลงในตัวแก้ไขเช่นประเสริฐหรือ notepad ++ และค้นหาและแทนที่ด้วยช่องว่างปกติ คุณสามารถคัดลอกหนึ่งในพวกเขาจากข้อความ

ข้อจำกัดความรับผิดชอบ: นี่ไม่ใช่คำตอบและวิธีแก้ปัญหาอื่น ๆ อีกมากมายดังนั้นอย่าลังเลที่จะลงคะแนน สำหรับฉัน Wordpress มีการเพิ่มอย่างมีความสุขทุกที่และไม่มีสัมผัสหรือเหตุผล ไม่แน่ใจว่าเกิดจากอะไร มันเกิดขึ้นกับข้อความภาษาฮิบรูมากมายมากกว่าข้อความภาษาอังกฤษอื่น ๆ


0

ในกรณีที่มีใครบางคนยังคงติดอยู่กับเรื่องนี้ในปี 2020 เรามีปัญหานี้หลังจากการย้ายเนื้อหาไปยัง Wordpress คาดเดาสิ่งที่ทุกคนทำสิ่งที่คัดลอกและวางและเราจบลงด้วยเนื้อหามากเกินไปที่จะสามารถแก้ไขด้วยตนเอง ฉันใช้ php function bellow และเพิ่มไปยัง functions.php และแก้ไขปัญหาให้เรา

    function replace_content($content) {
        $content = htmlentities($content, null, 'utf-8');
        $content = str_replace(" ", " ", $content);
        $content = html_entity_decode($content);
    return $content;
    }
    add_filter('the_content','replace_content', 999999999)

999999 มีไว้เพื่อให้แน่ใจว่าตัวกรองนี้จะทำงานได้นานในกรณีที่ มีการเพิ่มสิ่งเหล่านี้ไว้ตรงกลาง


-1

ในไฟล์ css ใส่ภายในพีdisplay: inline-flex the excerptช่องว่างสีขาวเพิ่มเติมไม่ต้องกังวลอีกต่อไป ทำงานได้สำหรับฉัน

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