WordPress+Cocoonで英語サイト

①英語専用メニューを作る(最も重要)

Cocoon は「メニューを複数作って切り替える」ことができる。

✔ 手順

  1. WordPress → 外観 → メニュー
  2. 新規メニュー作成
    • 名前:English Menu
  3. メニューに英語ページだけを追加
    • /en
    • /en/products
    • /en/encrypted-pdf-viewer
    • /en/encrypted-video-player
  4. 表示場所を ヘッダーメニュー に設定
  5. 条件分岐で英語ページだけこのメニューを使う

✔ Cocoon の条件分岐コード(貼るだけ)

外観 → テーマエディター → function.php に以下を追加:

php

// 英語ページだけ English Menu を表示する
add_filter('wp_nav_menu_args', function($args) {
    if (strpos($_SERVER['REQUEST_URI'], '/en/') === 0) {
        $args['menu'] = 'English Menu'; // メニュー名で指定する方法(確実)
    } else {
        $args['menu'] = 'メイン'; // 日本語メニュー名
    }
    return $args;
});

これで 英語ページは英語メニュー、日本語ページは日本語メニュー になる。

英語ページだけ関連記事を非表示にする(最も簡単・最も綺麗)

外観 → テーマエディター → style.css に以下を追加:


/* 英語ページだけ関連記事を非表示 */
/* URL が /en/ を含むページの関連記事を非表示 */
body[class*="en"] .related-entries,
body[class*="en"] .related-entries-title {
    display: none !important;
}

英語ページだけおすすめカードを非表示

外観 → テーマエディター → style.css に以下を追加:

/* 英語ページだけおすすめカードを非表示 */
body[class*="en"] .entry-card,
body[class*="en"] .entry-card-thumb,
body[class*="en"] .entry-card-content {
    display: none !important;
}

英語ページだけ前後記事ナビを非表示

外観 → テーマエディター → style.css に以下を追加:

/* 英語ページだけ前後記事ナビを非表示 */
body[class*="en"] .post-navi,
body[class*="en"] .pager-post-navi,
body[class*="en"] .pager-prev,
body[class*="en"] .pager-next {
    display: none !important;
}

コメント