web-dev-qa-db-ja.com

メニューからアクセスできないページを作成する方法

私は自分のサイトにURLでアクセスできるページを作成する必要がありますが、それは私のサイトのwp_list_pages()を使って生成されるナビゲーションメニューには含まれません。

どうすればこれを達成できますか?

3
jessegavin

ページをメニューに表示するかどうかを示すメタチェックボックスをすべてのページの下に追加する優れたプラグインがあります。

ページ除外プラグイン

他のオプションはwp_list_pagesから新しいカスタムメニューに変換することです。カスタムメニューを使用すると、メニューに追加したページだけが含まれます。

5
Chris_O

運がいいです、フィルターがあります。 wp_list_pages()内の この行 を参照してください。

$r['exclude'] = implode( ',', apply_filters('wp_list_pages_excludes', $exclude_array) );

それで、単にwp_list_pages_excludesにフックしてください:

// add some new page ids to the exclude list
function my_banned_pages( $exclude_array ) {
    return array_merge( $exclude_array, array( 12, 45 ) ); 
}
add_filter( 'wp_list_pages_excludes', 'my_banned_pages' );
4

単にwp_list_pages関数呼び出しにフラグを渡すだけです。あなたがする必要があるのはあなたが除外したいページIDを取得することだけです。下記のコーデックスページの例を参照してください。 http://codex.wordpress.org/Function_Reference/wp_list_pages#Exclude_Pages_from_List

0
tw2113