حل مشکل ترجمه نشدن Post Type در Polylang

یکی از مشکلات رایج در سایت‌های وردپرسی چندزبانه با افزونه Polylang این است که با وجود فعال بودن ترجمه برای یک Post Type، فقط اولین پست قابل ترجمه است و بقیه پست‌ها:

  • گزینه Language ندارند

  • آیکن ➕ ترجمه نمایش داده نمی‌شود

  • در Bulk Edit هم زبان قابل انتخاب نیست

این مشکل معمولاً باعث سردرگمی کاربران می‌شود، چون همه تنظیمات ظاهراً درست هستند.


❌ علت اصلی مشکل چیست؟

برخلاف تصور، این مشکل:

  • از ACF نیست

  • از REST API نیست

  • از تنظیمات Polylang هم نیست

علت اصلی این است که فقط اولین پست واقعاً زبان Polylang دارد.

بقیه پست‌ها معمولاً:

  • قبل از نصب Polylang ساخته شده‌اند

  • با Duplicate ساخته شده‌اند

  • یا از Import وارد سایت شده‌اند

در نتیجه، این پست‌ها در دیتابیس Polylang هیچ زبانی ندارند و قابل ترجمه نیستند.


✅ راه‌حل قطعی و سریع

برای حل این مشکل باید زبان را به‌صورت مستقیم به پست‌ها اختصاص بدهیم.

کد زیر را موقتاً در فایل functions.php قرار دهید:

add_action('init', function () {

    if (!function_exists('pll_set_post_language')) {
        return;
    }

    $posts = get_posts([
        'post_type'      => 'service',
        'posts_per_page' => -1,
        'post_status'    => 'any',
        'lang'           => ''
    ]);

    foreach ($posts as $post) {
        pll_set_post_language($post->ID, 'de'); // زبان اصلی سایت
    }

});

🔹 بعد از رفرش صفحه:

  • همه پست‌ها زبان می‌گیرند

  • گزینه ترجمه برای همه فعال می‌شود

⚠️ بعد از حل مشکل، حتماً این کد را حذف کنید.


🟢 نتیجه نهایی

بعد از اجرای این روش:

  • تمام پست‌های Post Type قابل ترجمه می‌شوند

  • آیکن ➕ ترجمه کنار همه پست‌ها ظاهر می‌شود

  • مشکل «فقط اولین پست قابل ترجمه است» به‌طور کامل برطرف می‌شود


🔎 نکته مهم برای جلوگیری از تکرار مشکل

  • همیشه بعد از نصب Polylang پست‌ها را بسازید

  • برای ترجمه از دکمه ➕ خود Polylang استفاده کنید

  • از Duplicate کردن پست‌ها قبل از تعیین زبان خودداری کنید

اشتراک گذاری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بقیه مقالات
اگر در وردپرس با Polylang فقط اولین پست یک Post Type قابل ترجمه است و بقیه گزینه Language ندارند، در این مقاله راه‌حل قطعی و سریع آن را یاد بگیرید.
آموزش افزودن محتوای متنی اختصاصی به دسته‌بندی محصولات ووکامرس با ویرایشگر وردپرس و نمایش هوشمند با دکمه «مطالعه بیشتر» برای بهبود سئو و UX.
با این کد حرفه‌ای، دکمه افزودن به سبد خرید ووکامرس را از صفحه محصول و آرشیو حذف کنید و یک دکمه «تماس بگیرید» جایگزین آن قرار دهید. مناسب محصولات مشاوره‌ای و استعلام قیمت.
ثبت مشاوره یا پلاگین
تماس با ما
واتساپ تلگرام اینستاگرام ارسال تیکت