یکی از مشکلات اعصابخردکن ویرایشگر کلاسیک وردپرس اینست که در بخش «متنی» به شما اجازه استفاده از کدهای HTML را میدهد، ولی به محض انتشار مطلب یا رفتن به بخش «دیداری» برای مشاهده نتیجه کدها، بخش زیادی از تگها (به خصوص <p> و <br>) به همراه کلاسها و اسکریپتها میپرند و بنابراین هم کد شما ناقص و بلااستفاده میشود و هم طراحی شما بهم میریزد.
برای حل این معضل دو راه وجود دارد:
اول اینکه ویرایشگر کلاسیک وردپرس، مبتنی بر نرمافزار متنبازِ TinyMCE است؛ پس با اضافه کردن کد زیر به فایل توابع (functions.php) میتوان جلوی حذف تگهای HTML را گرفت.
function uncoverwp_tiny_mce_fix( $init ) { // html elements being stripped $init['extended_valid_elements'] = 'div[*], article[*]'; // don't remove line breaks $init['remove_linebreaks'] = false; // convert newline characters to BR $init['convert_newlines_to_brs'] = true; // don't remove redundant BR $init['remove_redundant_brs'] = false; // pass back to wordpress return $init; } add_filter( 'tiny_mce_before_init', 'uncoverwp_tiny_mce_fix' );
راه دوم، نصب افزونه ویرایشگر پیشرفته (Advanced Editor Tools) است. کافی است بعد از نصب، به بخش تنظیمات بروید و گزینه زیر را فعال کنید:
Keep paragraph tags in the Classic block and the Classic Editor
الان دیگر ویرایشگر متنی وردپرس سر خود تگهای HTML و کلاسهایشان را حذف نمیکند.