web-dev-qa-db-ja.com

ページをデフォルトのサブページに移動する

サブページを使用して、私のWordPressブログにページ階層ナビゲーションを導入したいと思います。そのため、各ページにサブページがある場合がありますが、訪問者がページヘッダーをクリックすると特定のサブページにリダイレクトされるようにします。たとえば、私の階層が次のようになっているとします。

1. Movies
1.1 General
1.2 Westerns
1.3 Animated
2. Music
2.1 General
2.2 Classic
2.3 Country

私が欲しいのは、誰かが "Movies"をクリックすると、彼が "Movies/General"に到達するということです。これはプラグインだけでも可能ですか?そうでなければ、何が必要ですか?

3
Roee Adler

WordPressのカスタムナビゲーションメニューを使用してメニューを作成し、[全般]ページを2回追加します。 1番目の親として、2番目の子として最初の子として、残りのページを最初のGeneralの下の子として追加します。

最初の一般的なタイトルを映画に変更し、次にフロントエンドでユーザーが映画をクリックすると一般的なページに移動します。

enter image description here

4
Chris_O

以下は魅力的で、上の答えよりも優れています。上記の答えの問題は、サブサブページを表示しているときに、CSSでトップメニューセクションをハイライトすることが突然不可能になったことです。この解決策を使えば、メニューを実際のままにすることができます。 ( http://www.wprecipes.com/wordpress-page-template-to-redirect-to-first-child-page

このレシピを実現するには、ページテンプレートを作成する必要があります。新しいファイルを作成し、そのファイルに次のコードを貼り付けます。

<?php
/*
Template Name: Redirect To First Child
*/
if (have_posts()) {
  while (have_posts()) {
    the_post();
    $pagekids = get_pages("child_of=".$post->ID."&sort_column=menu_order");
    $firstchild = $pagekids[0];
    wp_redirect(get_permalink($firstchild->ID));
  }
}
?>

ファイルをredirect.phpという名前で保存し、WordPressをインストールしたディレクトリのwp-content/themes/your-themeディレクトリにアップロードします。完了したら、ページテンプレートを使用できます。

1
Max Stern