SHET23

حل مشکل راست‌چین WPBakery در حالت ردیف تمام‌عرض

حل مشکل راست‌چین WPBakery در حالت ردیف تمام‌عرض

اگه ردیف تمام‌عرض WPBakery توی سایت فارسی از سمت راست یا چپ صفحه بیرون می‌زنه، لازم نیست همون اول سراغ تغییر فایل‌های قالب برید. نسخه‌های جدید WPBakery از چیدمان راست‌چین پشتیبانی می‌کنن و بیشتر وقت‌ها با به‌روزرسانی افزونه، انتخاب تنظیم درست ردیف یا رفع تداخل قالب می‌تونید مشکل رو حل کنید.

توی این راهنما اول راه‌حل‌های اصلی رو قدم‌به‌قدم امتحان می‌کنیم. اگه مشکل همچنان باقی موند، یک قطعه‌کد موقت رو با افزونه رایگان Code Snippets به سایت اضافه می‌کنیم تا بعد از به‌روزرسانی قالب پاک نشه.

چرا ردیف تمام‌عرض WPBakery در سایت فارسی به‌هم می‌ریزه؟

نام فعلی این صفحه‌ساز WPBakery Page Builder هست. این محصول قبلاً با نام Visual Composer شناخته می‌شد، ولی Visual Composer Website Builder الان یک محصول جداست. پس موقع پیدا کردن آموزش یا فایل به‌روزرسانی، حواستون باشه این دو محصول رو با هم اشتباه نگیرید.

WPBakery برای ساخت ردیف تمام‌عرض، اندازه و جای ردیف رو با JavaScript محاسبه می‌کنه. JavaScript همون کدیه که بعضی بخش‌های تعاملی صفحه رو داخل مرورگر اجرا می‌کنه. اگه نسخه افزونه قدیمی باشه، قالب جهت راست‌چین رو درست مدیریت نکنه یا یکی از بخش‌های والد ویژگی overflow: hidden داشته باشه، ردیف ممکنه از محدوده صفحه بیرون بزنه یا قسمتی از اون بریده بشه.

مرحله اول: WPBakery رو به‌روز کنید

طبق یادداشت‌های انتشار رسمی WPBakery، پشتیبانی از ردیف‌های تمام‌عرض در حالت راست‌چین از نسخه ۵.۵ به افزونه اضافه شده. پس قبل از اینکه کدی به سایت اضافه کنید، نسخه نصب‌شده رو ببینید و افزونه رو از همون منبع معتبری به‌روز کنید که لایسنس یا فایل اصلی رو در اختیارتون گذاشته.

یادداشت‌های رسمی انتشار WPBakery و تغییرات مربوط به پشتیبانی از حالت راست‌چین
یادداشت‌های رسمی انتشار WPBakery و تغییرات مربوط به پشتیبانی از حالت راست‌چین

برای دیدن نسخه نصب‌شده، وارد پیشخوان وردپرس بشید و از مسیر «افزونه‌ها ← افزونه‌های نصب‌شده» WPBakery Page Builder رو پیدا کنید. اگه به‌روزرسانی معتبری در دسترسه، اول از سایتتون بکاپ بگیرید و بعد افزونه رو به‌روز کنید. نسخه‌های دست‌کاری‌شده یا فایل‌های منبع نامعتبر می‌تونن امنیت سایت رو به خطر بندازن یا باعث ناسازگاری بشن.

مرحله دوم: تنظیمات ردیف تمام‌عرض رو بررسی کنید

صفحه‌ای رو که مشکل داره با WPBakery باز کنید. بعد تنظیمات همون ردیفی رو انتخاب کنید که از صفحه بیرون زده و گزینه Row stretch رو دوباره روی حالت موردنظرتون بذارید. گزینه Stretch row فقط پس‌زمینه ردیف رو تمام‌عرض می‌کنه، ولی Stretch row and content محتوای داخل ردیف رو هم تا عرض صفحه می‌کشه.

اگه نمی‌خواید متن و تصویر به لبه‌های صفحه بچسبن، معمولاً Stretch row انتخاب بهتریه. تغییرات رو ذخیره کنید و صفحه رو توی یک پنجره ناشناس مرورگر ببینید. توی راهنمای رسمی ردیف‌های تمام‌عرض WPBakery هم تفاوت این حالت‌ها توضیح داده شده.

راهنمای رسمی تنظیم حالت‌های مختلف ردیف تمام‌عرض در WPBakery
راهنمای رسمی تنظیم حالت‌های مختلف ردیف تمام‌عرض در WPBakery

مرحله سوم: تداخل قالب و ویژگی Overflow رو پیدا کنید

اگه افزونه به‌روزه ولی مشکل هنوز دیده می‌شه، احتمالاً قالب یا CSS سفارشی سایت روی محاسبه عرض ردیف اثر گذاشته. CSS همون کدیه که ظاهر، فاصله و اندازه بخش‌های صفحه رو مشخص می‌کنه. طبق مستندات WPBakery، ویژگی overflow: hidden روی یکی از بخش‌های والد می‌تونه نذاره ردیف تمام‌عرض درست نمایش داده بشه.

برای یک آزمایش کوتاه، صفحه رو توی نسخه آزمایشی سایت با یکی از قالب‌های پیش‌فرض وردپرس باز کنید. اگه مشکل ناپدید شد، به احتمال زیاد قالب یا CSS سفارشی با WPBakery تداخل داره. این آزمایش رو روی سایت اصلی و جلوی بازدیدکننده‌ها انجام ندید. بهتره از محیط آزمایشی یا Staging استفاده کنید؛ یعنی یک نسخه جدا از سایت که تغییرات روی بازدیدکننده‌های واقعی اثر نمی‌ذاره.

اگه با ابزار توسعه مرورگر آشنا نیستید، از پشتیبانی قالب بخواید بخش‌های والد ردیف رو از نظر ویژگی‌های overflow، direction و فاصله‌های منفی بررسی کنه. این ویژگی‌ها رو بدون بررسی حذف نکنید، چون ممکنه ظاهر قسمت‌های دیگه سایتتون هم به‌هم بریزه.

راه‌حل موقت با افزونه رایگان Code Snippets

اگه بعد از به‌روزرسانی افزونه و بررسی قالب هنوز مشکل باقیه، می‌تونید کد اصلاح راست‌چین رو به‌صورت موقت امتحان کنید. وردپرس ویرایشگر فایل قالب داره، ولی ابزار داخلی جداگانه‌ای برای مدیریت قطعه‌کدهای سفارشی نداره. بهتره فایل functions.php قالب اصلی رو مستقیم تغییر ندید؛ چون این تغییر با به‌روزرسانی قالب پاک می‌شه و یک اشتباه کوچک هم ممکنه سایت رو از دسترس خارج کنه.

برای این کار از افزونه رایگان Code Snippets استفاده می‌کنیم. اول از سایتتون بکاپ بگیرید. بعد وارد «افزونه‌ها ← افزودن افزونه تازه» بشید، Code Snippets رو جست‌وجو کنید و افزونه‌ای رو نصب کنید که سازنده اون Code Snippets Pro هست. در آخر روی «فعال نمایید» بزنید.

افزونه رایگان Code Snippets
افزونه رایگان Code Snippets

بعد از فعال‌سازی، از منوی پیشخوان وارد «Snippets ← Add New» بشید. یک نام مثل «اصلاح ردیف تمام‌عرض WPBakery در حالت راست‌چین» بنویسید و کد زیر رو توی بخش Code بذارید. تگ آغازین <?php رو به کد اضافه نکنید؛ افزونه خودش این بخش رو مدیریت می‌کنه.

/**
 * Temporary RTL fix for WPBakery full-width rows.
 */
function mihanwp_wpbakery_full_width_rtl_fix() {
    if ( ! is_rtl() ) {
        return;
    }
    ?>
    <script>
    jQuery( window ).on( 'load resize', function() {
        jQuery( '[data-vc-full-width="true"]' ).each( function() {
            var $row = jQuery( this );
            $row.css( 'right', $row.css( 'left' ) ).css( 'left', 'auto' );
        } );
    } );
    </script>
    <?php
}
add_action( 'wp_footer', 'mihanwp_wpbakery_full_width_rtl_fix', 100 );

گزینه اجرای کد در بخش عمومی سایت یا Run snippet everywhere رو انتخاب کنید و روی «Save Changes and Activate» بزنید. حالا صفحه مشکل‌دار رو هم توی دسکتاپ و هم توی موبایل بررسی کنید. اگه چیدمان بخش دیگه‌ای خراب شد، قطعه‌کد رو غیرفعال کنید. یادتون نره این کد فقط یک راه‌حل موقته و جای رفع ناسازگاری قالب یا به‌روزرسانی افزونه رو نمی‌گیره.

صفحه افزودن قطعه‌کد تازه برای اصلاح ردیف تمام‌عرض WPBakery
صفحه افزودن قطعه‌کد تازه برای اصلاح ردیف تمام‌عرض WPBakery

بعد از افزودن کد، کش سایت رو خالی کنید

اگه بعد از افزودن کد تغییری ندیدید، ممکنه نسخه قبلی صفحه هنوز از کش نمایش داده بشه. در این حالت کش وردپرس رو خالی کنید. اگه هاستتون از PHP OPcache استفاده می‌کنه، از پنل هاست یا پشتیبانی بخواید کش OPcache رو هم خالی کنن.

در آخر، صفحه رو توی یک پنجره ناشناس و با چند اندازه مختلف بررسی کنید. اگه مشکل فقط توی یک برگه دیده می‌شه، تنظیمات همون ردیف رو دوباره بسازید. ولی اگه همه ردیف‌های تمام‌عرض مشکل دارن، بهتره بررسی قالب و CSS سفارشی رو در اولویت بذارید.

جمع‌بندی

برای حل مشکل راست‌چین WPBakery، اول افزونه رو از منبع معتبر به‌روز کنید و تنظیم Row stretch رو دوباره بررسی کنید. اگه مشکل ادامه داشت، تداخل قالب، CSS سفارشی و ویژگی overflow: hidden در بخش‌های والد رو بررسی کنید. قطعه‌کد این آموزش هم می‌تونه موقتاً مشکل رو برطرف کنه، ولی بهتره بعد از پیدا کردن علت اصلی اون رو غیرفعال کنید.

بعد از هر تغییر، کش سایت رو خالی کنید و نتیجه رو توی موبایل، دسکتاپ و پنجره ناشناس ببینید. این ترتیب کمک می‌کنه بدون دست‌کاری مستقیم فایل‌های قالب، علت مشکل رو مرحله‌به‌مرحله پیدا کنید و ردیف تمام‌عرض رو درست نمایش بدید.

سؤالات متداول

آیا WPBakery خودش از ردیف تمام‌عرض راست‌چین پشتیبانی می‌کنه؟

بله. طبق یادداشت‌های رسمی WPBakery، پشتیبانی از ردیف تمام‌عرض در حالت راست‌چین از نسخه ۵.۵ اضافه شده. پس اول افزونه رو به‌روز کنید و فقط اگه مشکل باقی موند، سراغ بررسی قالب یا راه‌حل موقت برید.

آیا باید کد رو داخل فایل functions.php بذارم؟

نه. بهتره فایل قالب اصلی رو مستقیم ویرایش نکنید، چون تغییرات با به‌روزرسانی قالب از بین می‌رن و خطای کد هم ممکنه سایت رو از دسترس خارج کنه. برای این آموزش می‌تونید از افزونه رایگان Code Snippets استفاده کنید.

آیا قطعه‌کد این آموزش یک راه‌حل دائمیه؟

نه. این کد فقط یک راه‌حل موقته. اگه WPBakery به‌روزه، بهتره علت اصلی مشکل رو توی تنظیمات ردیف، قالب، CSS سفارشی و ویژگی overflow بخش‌های والد پیدا کنید.

نظر شما در این مورد چیه؟

  1. U27475۱۴ اردیبهشت ۱۳۹۹

    سلام وقت بخیر
    ممنون از مطالب خوبتون

    راستش خیلی وقته که با ویژوال کامپوزر یه مشکل دارم و هیچ جا هم راه حلش رو پیدا نکردم

    ممنون میشم شما کمکم کنید

    مشکل اینه که
    مثلا من میام یه ردیف درست میکنم و اون ردیفم 2 تا ستون داره
    ستون سمت راست رو یه متن میزارم و ستون سمت چپ رو یه عکس

    حالا توی بحث ریسپانسیو، وقتی توی موبایل باز میکنم سایتو میاد از سمت راست نشون میده
    که خیلی جالب نیس ، ینی اول متن رو نشون میده و بعدش عکس رو

    من میخام بالا عکس باشه
    و پایین متن

    فک کنم این مشکل خیلیا باشه

    ممنون میشم راهنمایی کنید

    • تیم پشتیبانیتیم پشتیبانی۱۴ اردیبهشت ۱۳۹۹

      سلام
      این مورد بستگی به کدنویسی و طراحی قالبی داره که از اون روی سایت استفاده میفرمایید

      • U27475۱۴ اردیبهشت ۱۳۹۹

        سلام قالب اکسترا هست

        راهی هست که اوکی کنمش؟

        • تیم پشتیبانیتیم پشتیبانی۱۴ اردیبهشت ۱۳۹۹

          باید به کدنویسی و ریسپانسیو کردن قالب آشنایی داشته باشد

  2. کاربر مهمان۸ تیر ۱۳۹۸

    سلام. سایت وورد پرس من فارسی است و زمانی که شروع به اموزش میکنم و نمونه کد در پست قرار میدهم ان هم به جای چپ چین راست چین به نمایش در می اید باید چه کار کنم تا حروف انگلیسی به صورت چپ چین دربیاید در ضمن از افزونه برای قرار دادن کد استفاده میکنم

    • تیم پشتیبانیتیم پشتیبانی۸ تیر ۱۳۹۸

      سلام بالای ویرایشگر گزینه‌ای برای نمایش بصورت چپ چین وجود دارد که می‌توانید با ان متن را چپ چین کنید.

      • U14248۲۰ آبان ۱۳۹۹

        با عرض سلام
        متاسفانه حتی با زدن این گزینه هم متن های انگلیسی به صورت راست به چپ هستن؛چطور میتونم این مشکل رو حل کنم؟

        • تیم پشتیبانیتیم پشتیبانی۲۱ آبان ۱۳۹۹

          افزونه رو از ما خریدرای کرده اید؟

  3. کاربر مهمان۸ دی ۱۳۹۷

    سلام
    به تازگی وردپرس رو اپدیت کردم و حالا نمی دونم با وجود ویرایشگر گوتنبرگ چطور میتونم صفحات رو ویرایش کنم.

    • رضا راد۸ دی ۱۳۹۷

      توی سایت ما سرچ کنید غیر فعال کردن گاتنبرگ

  4. کاربر مهمان۵ دی ۱۳۹۷

    سلام ببخشید اگر از پابلیشر شما استفاده میکنیم که این افزونه داخلش هست چی؟

    • تیم پشتیبانیتیم پشتیبانی۵ دی ۱۳۹۷

      سلام
      سعی میکنیم این مشکلات را در بروزرسانی قالب ها برطرف کنیم اما در هرصورت اگر این مشکل برای شما به وجود آمد به همین روش می توانید مشکل را برطرف کنید .

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.