zhaket logo

مشکل وردپرس 6.7، از دست رفتن ترجمه‌ها و استایل‌های سفارشی

اخبار روز وردپرس

4 دقیقه زمان مطالعه

با انتشار وردپرس ۶.۷، کاربران با مشکلاتی در زمینه ترجمه و استایل‌دهی در این نسخه مواجه شده‌اند.

 

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

بر اساس گزارش‌های منتشرشده در انجمن‌های پشتیبانی وردپرس، برخی کاربران پس از به‌روزرسانی به نسخه ۶.۷، با از دست رفتن ترجمه‌ها و استایل‌های سفارشی در قالب‌ها و افزونه‌های خود مواجه شده‌اند. این مشکل به‌ویژه در افزونه‌هایی مانند ووکامرس مشاهده شده است.

توسعه‌دهندگان ووکامرس در واکنش به این تغییرات، در نسخه ۹.۴ این افزونه، اصلاحاتی برای هماهنگی با وردپرس ۶.۷ اعمال کرده‌اند. با این حال، ممکن است کاربران همچنان با هشدارهایی مانند «بارگذاری ترجمه برای دامنه <PLUGIN> خیلی زود انجام شده است» مواجه شوند. این هشدارها نشان‌دهنده نیاز به بارگذاری ترجمه‌ها در زمان مناسب، مانند اکشن ‘init’ یا بعد از آن، هستند.

برای کاهش این مشکلات، توصیه می‌شود تنظیمات ‘WP_DEBUG_DISPLAY’ را به ‘false’ تغییر دهید تا از نمایش هشدارها جلوگیری شود.

add_filter( ‘doing_it_wrong_trigger_error’, ‘__return_false’ );

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

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

 

الف- بررسی و رفع مشکل فونت ها و استایل در وردپرس 6.7

راهکارهای رفع مشکل

برای رفع مشکلات ترجمه در وردپرس ۶.۷، توصیه می‌شود اقدامات زیر را انجام دهید:

  1. استفاده از اکشن مناسب برای بارگذاری ترجمه‌ها
    توسعه‌دهندگان افزونه‌ها و قالب‌ها باید اطمینان حاصل کنند که بارگذاری ترجمه‌ها در اکشن مناسبی مانند init یا پس از آن انجام می‌شود تا با تغییرات وردپرس ۶.۷ سازگاری داشته باشد.
  2. غیرفعال کردن نمایش هشدارها در محیط تولید
    برای جلوگیری از نمایش هشدارهای مربوط به ترجمه، می‌توانید تنظیمات WP_DEBUG_DISPLAY را به false تغییر دهید. این کار به شما کمک می‌کند تا این هشدارها در صفحه اصلی سایت نمایش داده نشوند، اما به نعنی رفع مشکل نهایی نیست.
  3. بررسی و به‌روزرسانی تنظیمات ترجمه در پلاگین‌ها
    در صورتی که از پلاگین‌هایی مانند Loco Translate یا WPML استفاده می‌کنید، از نسخه‌های به‌روز آنها بهره ببرید و تنظیمات ترجمه‌ها را مجدداً بررسی کنید. این پلاگین‌ها ممکن است در برخی موارد تنظیمات پیش‌فرضی داشته باشند که با تغییرات وردپرس ۶.۷ سازگار نیستند.
  4. ررسی فایل‌های زبان
    اطمینان حاصل کنید که فایل‌های .mo و .po در پوشه /languages موجود هستند. اگر این فایل‌ها وجود نداشته باشند، ترجمه‌ها نمایش داده نمی‌شوند.
  5. به‌روزرسانی پلاگین‌ها و قالب‌ها
    مطمئن شوید که تمام پلاگین‌ها و قالب‌ها به آخرین نسخه‌ها به‌روز شده‌اند تا با وردپرس ۶.۷ سازگار باشند.
  6. فایل‌های زبان خراب را حذف کنید.
    به پیشخوان > بروزرسانی‌ها بروید و ترجمه‌ها را دوباره نصب کنید.
  7. بررسی تنظیمات زبان در وردپرس
    مطمئن شوید که تنظیمات زبان در پیشخوان > تنظیمات > عمومی به درستی پیکربندی شده است.

 

ب- حل مشکل ترجمه در قالب ها و افزونه ها

اگر قبلا از تابع load_theme_textdomain استفاده می کردید یا اینکه تابع load_textdomain را در هوک init استفاده نمی کردید، کد خود را به شکل زیر تغییر دهید:

اصلاح کد برای قالب ها:


add_action(‘init’ , function(){
if ( version_compare( $GLOBALS[‘wp_version’], ‘6.7’, ‘<‘ ) ) {
load_theme_textdomain( ‘YOUR_TEXT_DOMAIN’, get_template_directory() . ‘/languages’ );
} else {
load_textdomain( ‘YOUR_TEXT_DOMAIN’, get_template_directory() . ‘/languages/’ . determine_locale() . ‘.mo’ );
}
});

 

اصلاح کدها برای افزونه ها:

 

add_action(‘init’ , function(){
if ( version_compare( $GLOBALS[‘wp_version’], ‘6.7’, ‘<‘ ) ) {
load_plugin_textdomain( ‘YOUR_TEXT_DOMAIN’, dirname(plugin_basename(__FILE__)).’/languages’ );
} else {
load_textdomain( ‘YOUR_TEXT_DOMAIN’, plugin_dir_path(__FILE__) . ‘languages/your_text_domain-‘ . determine_locale() . ‘.mo’ );
}
});

توجه داشته باشید که به جای YOUR_TEXT_DOMAIN باید TEXT_DOMAIN قالب یا افزونه ی خود را وارد کرده و حتما به آدرس دهی دقیق فایل mo توجه کنید ( مسیر درست فایل های ترجمه را با توجه به پروژه خود تعریف کنید ).

 

نتیجه‌گیری

اگر افزونه یا قالب شما با وردپرس نسخه ۶.۷ یا بالاتر به درستی کار نمی‌کند، احتمالاً مشکل از روش‌های قدیمی بارگذاری فایل‌های ترجمه است. با رعایت نکات زیر، می‌توانید این مشکل را برطرف کنید:

1. اطمینان حاصل کنید که از هوک `init` یا بعد از آن برای بارگذاری ترجمه‌ها استفاده می‌کنید.

2. از تغییر فیلترهایی مثل `theme_locale` یا `plugin_locale` خودداری کنید، زیرا دیگر وجود ندارند.

3. برای تست و دیباگ، از ابزارهایی مثل Query Monitor استفاده کنید.

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

 

how to solve the translation problems in WordPress 6.7

 

در نهایت پروسه رفع این مشکل را حتما از افراد متخصص و انجمن های معتبر وردپرس دنبال کنید. به عنوان مثال رنک مث در نسخه 3.0.75 مشکلات مربوط به نسخه 6.7 را بصورت فورس رفع کرده است.


تحریریه ژاکت

مشاهده تیم تحریریه

0

دیدگاه ها

ارسال دیدگاه

ارسال دیدگاه