صورت مسئله و علت بروز مشکل پاراگرافبندی خودکار در وردپرس
وردپرس به صورت پیشفرض از تابعی به نام wpautop استفاده میکند که هر خط شکستن متن (Enter زدن نویسنده) را به صورت خودکار به تگهای <p> و <br> تبدیل میکند. این قابلیت گرچه برای تایپ ساده متنی مناسب است، اما در قالبهای اختصاصی، لندینگ پیجها، هنگام درج کدهای HTML یا شورتکدهای پیچیده باعث ایجاد فاصلههای خالی ناخواسته، خرابی گریدها و بههمریختگی ظاهر صفحات میشود.
راهکار فنی و شیوه عملکرد کد
بهترین راهکار برای خلاص شدن از شر این پاراگرافهای ناخواسته، استفاده از هوکهای بومی وردپرس و حذف فیلتر wpautop از لایههای مختلف تولید محتوا (نوشتهها، چکیدهها و ابزارکهای متنی) است. با حذف این فیلتر، کنترل کامل ساختار HTML متنها در دستان خودتان خواهد بود.
قطعه کد استاندارد حذف فیلتر wpautop
برای غیرفعال کردن پاراگرافبندی اتوماتیک، قطعه کد استاندارد زیر را در سایت خود قرار دهید:
/*
* Remove wpautop Filter from Content, Excerpts, and Widgets
* Prevents WordPress from automatically wrapping line breaks in <p> and <br> tags
* Mahdi Jafarzadeh | WPWM
*/
// ۱. حذف پاراگرافبندی خودکار از محتوای اصلی نوشتهها و برگهها
remove_filter('the_content', 'wpautop');
// ۲. حذف پاراگرافبندی خودکار از چکیده مقالات (Excerpt)
remove_filter('the_excerpt', 'wpautop');
// ۳. حذف پاراگرافبندی خودکار از محتوای ابزارکهای متنی
remove_filter('widget_text_content', 'wpautop');
نحوه استفاده و محل قرارگیری کد
- وارد کنترل پنل هاست یا پیشخوان وردپرس (بخش نمایش > ویرایشگر پرونده پوسته) شوید.
- فایل
functions.phpچایلدتم خود را باز کنید. - کد بالا را در انتهای فایل کپی و ذخیره کنید. (همچنین میتوانید این کد را در قالب یک فایل افزونه اختصاصی MU-Plugin در مسیر
wp-content/mu-plugins/disable-wpautop.phpقرار دهید تا با تغییر قالب غیرفعال نشود).
نکات مهم ایمنی و نگهداری
- اگر مقالات قبلی شما بر مبنای فاصلهگذاری پیشفرض وردپرس نوشته شدهاند، ممکن است با حذف این فیلتر، پاراگرافهای متن به هم متصل شوند. در این حالت میتوانید فیلتر را تنها برای یک برگه یا پستتایپ خاص شرطی کنید.
- پس از ذخیره کد، حافظه کش افزونههای لایت اسپید یا راکت و کش مرورگر را خالی کنید.
💡 نیاز به بازطراحی یا کدنویسی تمپلیت اختصاصی دارید؟ اگر برای صفحات سایت خود نیاز به ساختارهای مدرن و کدهای سفارشی دارید، تیم ما در بخش طراحی و برنامهنویسی افزونه اختصاصی و طراحی سایت وردپرس در کنار شماست.
دیدگاهها و پرسشها
پاسخها، تجربهها و دیدگاههای کاربران در یک گفتوگوی منظم.
گفتوگوهای کاربران
جدیدترین دیدگاهها در ابتدااولین پرسش یا تجربه را ثبت کنید؛ ایمیلتان نمایش داده نمیشود.