Обзор проблемы
В 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Настройки.
- Прокрутите вниз до раздела Типы записей.
- Переведите слаг архива курсов.