0

私はこのような垂直メニューを持っています

HOME
NEWS
ANOTHER PAGE
- SUB PAGE
- SUB PAGE

wp_list_pagesを介して取得されます。NEWSはWPバックエンドの私の投稿ページとして設定されています。

私が達成したいのは、最新の3つの投稿のタイトルを次のようにNEWSのサブメニューとして表示することです。

HOME
NEWS
- POST 3
- POST 2
- POST 1
ANOTHER PAGE
- SUB PAGE
- SUB PAGE

これを実現するための何らかのadd_filter/functionまたはプラグインさえありますか?

4

1 に答える 1

1

問題は、対応する投稿の一種の「シェル」としてページオブジェクトを使用しようとしているように見えます。これはおそらく、Wordpress開発者が独自のテーマを開発したり、既存のコードを操作したりするときに最初に遭遇するトラップの1つです。

つまり、投稿オブジェクトも一覧表示しようとしている場合は、wp_list_pagesを使用しないでください。それは厄介になり、Wordpressが必要なことを正確に実行するために提供する既存のメソッドを本質的に回避しています。

あなたがしたいのは、より柔軟なメニューを構築するための組み込みのナビゲーションメニューです。ダウンロードしたテーマを使用している場合は、ほぼ確実にサポートされます。それ以外の場合は、ナビゲーションメニューの登録を調べて、テーマを「メニュー対応」にする必要があります。

これにより、ページだけでなく、カテゴリや個々の投稿を直感的なUIでサポートする柔軟なメニューを作成できます。「ニュース」と呼ばれるそのページオブジェクトを完全に削除し、代わりにメニューのニュースカテゴリをすべてのページオブジェクトの横に好きな順序で配置することをお勧めします。

ナビゲーションメニューの最新の3つの投稿をサブメニューとしてクエリする場合、これは純粋なコードを使用する場合は少し複雑になります。

私が提案するのは、最初にこのオプションを調べることです。メニューインターフェイスの感触をつかむために、静的ではありますが、動作するプロトタイプを作成します。独自のテーマを作成している場合は、wp_list_pages呼び出しをすべてwp_nav_menuに置き換えます

それが機能するようになったら、新しい質問を開いて、独自のNav Menu Walkerを作成して、すべてが希望どおりに表示されるようにする方法を確認します。

このアプローチを採用することで、パッチを適用するために頻繁にアクセスする必要がなく、テーマが常に自動的に希望どおりに動作するようになります。

これが役立つかどうか教えてください。

于 2012-10-23T13:36:34.807 に答える