Forum Replies Created

Viewing 1 replies (of 1 total)
  • fanyab

    (@fanyab)

    1. Polylang taxonomy translation not linking correctly

    What you want is the standard Polylang term translation behavior, where:

    EN term: Maxi Scooters

    RU term: Макси скутеры

    Both terms are linked translations

    Then when you translate a bike post, Polylang automatically maps the taxonomy.

    First check these settings

    Go to:

    Languages → Settings → Custom post types & Taxonomies

    Make sure:

    bikes → enabled

    bike_category → enabled

    bike_brand → enabled

    Then save.

    If this was disabled before, Polylang may have created orphan terms, which causes the weird behavior you described.

    Correct workflow for translating taxonomy terms

    Do not create terms using the “+” button first if it’s buggy.

    Instead do this:

    Go to
    Bikes → Categories

    Edit the English term
    Maxi Scooters

    On the edit page you will see Languages → Russian

    Click Add translation

    Enter:

    Name: Макси скутеры
    Slug: maxi-skutery

    Save

    This method almost always works better than the small + icon.

    If Polylang already created duplicates

    Sometimes the system ends up with:

    EN: Maxi Scooters

    RU: Макси скутеры

    RU duplicate not linked

    To fix:

    Edit the Russian term

    Find Translations

    Link it manually to the EN term.

    Result you should get

    When you translate a post:

    EN bike post
    → Category: Maxi Scooters

    RU bike post
    → Category automatically becomes
    Макси скутеры

    No manual selection needed.

    1. Filter Everything ignoring /ru/

    This is a known issue with filtering plugins that generate their own URLs.

    Filter Everything usually builds URLs like:

    /catalog/category-maxi-scooters/

    But with Polylang the correct version should be:

    /ru/catalog/category-maxi-scooters/
    First check plugin settings

    Go to:

    Filter Everything → Settings

    Look for:

    SEO Rules

    Permalinks

    AJAX filtering

    Try disabling AJAX filtering temporarily.

    Many multilingual sites only work properly when filters are not AJAX-based.

    Enable Polylang compatibility

    Check if this option exists:

    Use current language in filters

    If not available, the workaround is forcing the language prefix via WordPress filters.

    Example:

    add_filter(‘fe_current_language’, function($lang){
    if(function_exists(‘pll_current_language’)){
    return pll_current_language();
    }
    return $lang;
    });

    This tells the plugin to use the current Polylang language when building URLs.

    Also check Permalink structure

    Recommended:

    domain.com/catalog/
    domain.com/ru/catalog/

    Avoid mixing:

    /catalog/?lang=ru

    Polylang directory mode is the cleanest.

    1. Translating the filter UI (Category, Brand, etc.)

    This part is actually very easy with Polylang.

    There are two things to translate:

    A) Filter labels

    Example:

    Category
    Brand
    Engine size
    Price

    Go to:

    Languages → Translations

    Search for the filter labels and translate them.

    Example:

    EN RU
    Category Категория
    Brand Бренд

    Filter Everything usually registers its strings automatically.

    If not:

    pll_register_string(‘filter_category’,’Category’);
    B) Taxonomy terms

    These come from your taxonomy translations.

    Example:

    EN:

    Maxi Scooters
    Sport Bikes
    Electric Bikes

    RU:

    Макси скутеры
    Спорт байки
    Электробайки

    Once the taxonomy translations are correctly linked, Filter Everything will automatically show the correct terms on /ru/.

Viewing 1 replies (of 1 total)