WPML
Статус
Решено автором
Решено в
2.30.3.
Связанный плагин/тема
AffiliateWP
Теги темы
Compatibility

Обзор проблемы

При использовании AffiliateWP с дополнением AffiliateWP Portal и WPML произвольные ссылки меню, добавленные в Affiliate Portal, отображаются на обоих языках, но их названия не переводимы. Встроенного параметра для перевода названий этих произвольных ссылок нет.

Обходное решение

Перед продолжением обязательно сделайте полную резервную копию сайта.


  • Откройте файл …/wp-content/plugins/affiliatewp-affiliate-portal/includes/core/class-menu-links.php.

  • Найдите строку 102.

  • Замените:
    // filter only menu links with a page.
    $menu_links = array_filter(
    	$menu_links,
    	function( $menu_link) {
    		return ! empty( $menu_link['id'] );
    	}
    );
            


  • На:
    // filter only menu links with a page.
    $menu_links = array_filter(
    	$menu_links,
    	function( $menu_link) {
    		return ! empty( $menu_link['id'] );
    	}
    );
    // WPML Workaround for compsupp-8049 - Register menu links labels with WPML
    foreach ( $menu_links as $index => &$link ) {
    	if ( ! empty( $link['label'] ) ) {
    		do_action( 'wpml_register_single_string', 'affiliatewp-portal-menu', 'portal_menu_link_label_' . $index, $link['label'] );
    		$link['label'] = apply_filters( 'wpml_translate_single_string', $link['label'], 'affiliatewp-portal-menu', 'portal_menu_link_label_' . $index );
    	}
    }
            


  • Перейдите в AffiliateWP > Настройки > Affiliate Portal и пересохраните Ваши настройки.

  • Затем перейдите в WPML > Перевод строк, чтобы перевести ярлыки произвольных ссылок меню.

Все известные проблемы →