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

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

В Tutor LMS страница архива курсов переводится некорректно. Хотя статичную страницу можно перевести, переведенная страница некорректно назначается в бэкенде. Из-за этого переключатель языков генерирует некорректный URL, указывающий на автоматически сгенерированный слаг вместо ожидаемого URL.

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

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

Часть 1


  • Откройте файл …/wp-content/plugins/tutor/classes/Template.php.

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

  • Замените:
    $selected_archive_page = (int) tutor_utils()->get_option( 'course_archive_page' );
    
    if ( $page_id === $selected_archive_page ) {

  • На:
    $selected_archive_page = (int) tutor_utils()->get_option( 'course_archive_page' );
    
    // WPML Workaround for compsupp-7650 | Part 1
    $selected_archive_page = apply_filters( 'wpml_object_id', $selected_archive_page, get_post_type($selected_archive_page), true );
    
    if ( $page_id === $selected_archive_page ) {

Часть 2


  • Откройте файл …/wp-content/plugins/tutor/classes/Utils.php.

  • Замените:
    if ( $course_archive_page && '-1' !== $course_archive_page ) {
    	$course_page_url = get_permalink( $course_archive_page );
    }

  • На:
    if ( $course_archive_page && '-1' !== $course_archive_page ) {
    	
    	// WPML Workaround for compsupp-7650 | Part 2
    	$course_archive_page = apply_filters( 'wpml_object_id', $course_archive_page, get_post_type($course_archive_page), true );
    	
    	$course_page_url = get_permalink( $course_archive_page );
    }

Часть 3


  • Перейдите на страницу WPML > Настройки.

  • Прокрутите вниз до раздела Типы записей.

  • Переведите слаг архива курсов.

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