サポート » 使い方全般 » 言語によってテーマを切り替えたい

  • 日英2言語化でブログサイトを構築したいのですが、
    言語によってテーマを変えることは可能でしょうか?
    もしくは、日英で表示するメニューやウィジェットを変更することは可能でしょうか?

    できるかぎりデータベースを1つで運用したいため、WPMLの使用を考えているのですが、
    なにかよい解決策やヒントを御教授願えれば幸いです。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • WPMLは日本語、英語などのカテゴリを作成して言語を切り替えています。
    なので、このカテゴリを利用すればデザインを変更することができそうですね。

    ただしWPMLは自身が作成したカテゴリをダッシュボードでは不可視にしていたと思いますので、カテゴリ名やスラッグなどを特定するにはMySQLを調べる必要があるかもしれません。

    モデレーター gatespace

    (@gatespace)

    テーマそのものは一つですが、
    自分の場合は言語名(jaとかenとか)をWPMLの関数を使って取得して変数にして、
    それを使うことで言語ごとにデザインの切り替え(スタイルシートによる)を行っています。

    自分のやり方ですのであくまで参考程度に・・・。
    環境はWordPress 3.0.5、WPML 2.0.4.1です。

    functions.phpに以下を追記

    if (function_exists('icl_get_languages')) :
    	if(!is_admin()) {
    		$languages = icl_get_languages('skip_missing=1');
    		if(!empty($languages)){
    			foreach($languages as $l){
    				if($l['active'])
    					$lang_class = $l['language_code'];
    			}
    		}
    	}
    endif;

    この場合変数 $lang_class に言語名(ja、enなど)入ります。
    header.phpで<body <?php global $lang_class; body_class($lang_class); ?>>
    とすると日本語の場合<body>のクラスに ja 追加されるので、
    あとはスタイルシートで調整しています。
    カスタムメニューについては、たとえばヘッダーメニューを作っておけば
    それに対しWPMLで使う言語ごとに追加できるようになるので特に悩まなくても大丈夫だと思います。

    トピック投稿者 hirokk

    (@hirokk)

    sysbird様
    ありがとうございます。
    なるほど、カテゴリーで言語別に記事を投稿しておけば、言語別の一覧とかも取得しやすいですね。

    gatespace様
    言語名を取得することでデザインの変更を行えるんですね。
    そこまで考えが及びませんでした。
    もうすこし色々と実験してみます。
    ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「言語によってテーマを切り替えたい」には新たに返信することはできません。