WPML

問題の概要

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設定ページに移動します。
  • 投稿タイプセクションまで下にスクロールします。
  • コースアーカイブのスラッグを翻訳します。

すべての既知の問題

まだこの問題が発生しますか?

アップデートしても問題が解決しない場合は、サポートのご質問をお寄せください。一緒に調査いたします。