- ステータス
- 開発者からの返答待ち
- 関連するプラグイン/テーマ
- Virtue
- トピックタグ
- Compatibility
問題の概要
WPMLでVirtueテーマを使用している場合、文字列翻訳でスラッグを翻訳した後でも、翻訳された個別のポートフォリオでは想定されるコンテンツではなく404ページが表示されます。
回避策
続行する前に、必ずサイトの完全なバックアップを作成してください。
- テーマのfunctions.phpファイルを開きます。
- 以下のスニペットを追加します。
add_filter( 'register_post_type_args', 'virtue_portfolio_args', 10, 2 ); function virtue_portfolio_args( $args, $post_type ){ if ( $post_type !== 'portfolio' ) { return $args; } $virtue_premium = virtue_premium_get_options(); if ( ! empty( $virtue_premium['portfolio_permalink'] ) ) { $port_rewrite = $virtue_premium['portfolio_permalink']; } else { $port_rewrite = 'portfolio'; } $args['has_archive'] = true; $args['rewrite'] = array('slug' => $port_rewrite); return $args; } - Theme Options → Portfolio Options → Portfolio Permalink Base に移動し、カスタム投稿タイプのスラッグを設定します。
- WPML → 文字列翻訳に移動し、スラッグを検索して翻訳します。この文字列は[virtue_premium]portfolio_permalinkという文字列名の下にあります。
- WPML → 設定 → 投稿タイプの翻訳に移動し、portfolio投稿タイプのスラッグを、[virtue_premium]portfolio_permalink文字列に追加した翻訳とまったく同じになるように翻訳します。
- 設定 → パーマリンクに移動して保存します。