[ 解決済 ] フッター部分の他言語化のアイデアをください…

VWSとは フォーラム Lightning [ 解決済 ] フッター部分の他言語化のアイデアをください…

[ 解決済 ] フッター部分の他言語化のアイデアをください…

  • このトピックには4件の返信、2人の参加者があり、最後にmorisacにより2年前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #63920

    morisac
    参加者

    ■ WordPress のバージョン
    5.9.3

    ■ テーマ・プラグインは全て最新版で確認してください。
    確認しました。

    ■ テーマの種類
    Lightning ( G3 ) + Lightning G3 Pro Unit

    ■ テーマのバージョン
    14.13.3

    ■ Pro Unit のバージョン
    0.14.0

    ■ スキンの種類
    Origin III

    ■ 関連しそうなプラグインを一つづつ停止して症状が改善するか確認してください。
    確認しました。

    ■ 期待する動作
    Lightning G3で制作している他言語ページについて、フッターもその言語に応じた文字で表示したい
    例)英語ページの場合、フッターもアルファベットで表示

    方法は問わないので、効率的に、かつ目的を達成できる手段(アイデア)を教えていただけますと幸いです。
    何卒よろしくお願いいたします。

    ■ 自分で試した事
    そもそも
    ・日本語以外に、英語、中国語でも制作
    ・他言語ページについては、Bogoを使用して制作
    ・翻訳は手動

    今のところ
    ・メニューや本文などはそれぞれの言語で制作完了
    ・フッター部分が1つしか指定できない(言語ごとに表示する内容を分けられない)ので、どうしようか迷い中…

    試したこと
    ・日本語以外のページについては、元々のフッターを非表示にする
    ・その上で、本文中(各ページ)のフッターにあたる部分に、フッターの内容(住所、電話番号など)を記載
    →80%くらいはできそうなものの、背景色が画面いっぱいにならない&一気に変更できないので非効率…

    ■ 症状が発生するブラウザ
    Chrome

    ■ 実際の症状
    ・フッター部分が1つしか指定できない(言語ごとに表示する内容を分けられない)。


    該当URL : https://*********

    ※該当URLはフォーラムライセンスが有効のユーザーにのみ表示されます

    #63967

    うーむ、こんな感じですかね…

    add_action( 'lightning_site_footer_content_prepend', function(){
    
    	$args        = array(
    		'post_type'   => 'page',
    		'post_status' => array( 'publish', 'private' ),
    	);
    
    	if ( get_locale() === 'en_US' ){
    		$args['name'] = '英語用のフッターの内容を入れる固定ページのスラッグ';
    
    	} else if( get_locale() === 'ja' ){
    		$args['name'] = '日本語用のフッターの内容を入れる固定ページのスラッグ';
    	}
    
    	// フッターの内容を格納した固定ページの情報を取得
    	$posts_array = get_posts( $args );
    
    	if ( $posts_array && is_array( $posts_array ) ) {
    		$content = $posts_array[0]->post_content;
    
    		// フッター用に指定した固定ページの本文の内容を表示
    		echo apply_filters( 'the_content', $content );
    	}
    
    } );
    #64079

    morisac
    参加者

    石川@Vektor,Inc.さん

    ご返答ありがとうございます!
    素人すぎて恥ずかしいのですが、いただいたコードを footer.php に入れればいいのでしょうか?
    教えていただけますと幸いです…。

    #64082

    以下の手順でやってみてください。

    1. 日本語フッターに表示させる内容を固定ページで作成 / 固定ページのスラッグ名を “footer-ja” に設定して非公開保存
    2. 英語フッターに表示させる内容を固定ページで作成 / 固定ページのスラッグ名を “footer-en” に設定して非公開保存
    3. 子テーマの functions.php などに以下貼り付け

    add_action( 'lightning_site_footer_content_prepend', function(){
    
    	$args        = array(
    		'post_type'   => 'page', // 固定ページ
    		'post_status' => array( 'publish', 'private' ), // 公開と非公開のステータス
    	);
    
    	// 表示中のページが英語の場合
    	if ( get_locale() === 'en_US' ){
    		// ページのスラッグが footer-en の情報を追加指定
    		$args['name'] = 'footer-en';
    
    	// 表示中のページが日本語の場合
    	} else if( get_locale() === 'ja' ){
    		// ページのスラッグが footer-ja の情報を追加指定
    		$args['name'] = 'footer-ja';
    	}
    
    	// フッターの内容を格納した固定ページの情報($argsで指定した条件の情報)を取得
    	$posts_array = get_posts( $args );
    
    	// 条件に合う投稿(固定ページ)があった場合
    	if ( $posts_array && is_array( $posts_array ) ) {
    
    		// 該当した投稿の1件目の本文の内容を取得
    		$content = $posts_array[0]->post_content;
    
    		// フッター用に指定した固定ページの本文の内容を表示
    		echo apply_filters( 'the_content', $content );
    	}
    
    } );
    #64096

    morisac
    参加者

    詳しく手順までご教示いただき、誠にありがとうございます!
    無事に解決できました!
    その他の言語も同様に実施いたします!
    ありがとうございました!

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。