wp_list_pages を使用して wp_nav_menu を使用していた古いテーマを更新しようとすると、投稿とページを表示するループが壊れます。次のようなさまざまな実装を試しました。
http://thinkvitamin.com/code/getting-started-with-wordpress-custom-menus/
http://wpfirstaid.com/2010/07/upgrade-wp_list_pages-to-wp_nav_menu/
そして、WordPress コーデックスからの基本的な実装。
functions.php に変更を加えてもループには影響しませんが、任意のバージョンの wp_nav_menu をテンプレートに追加すると、投稿またはページを呼び出すループが機能しなくなります。私のループは次のとおりです。
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
query_posts を使用するとコンテンツは表示されますが、ループに関する何かが wp_nav_menu で機能していません。表示されるのは、間違った ID を持つ空の投稿です (また、post_class も正しく機能していません):
<div class="post--42 post type-post status-publish format-standard hentry" id="post--42">
<h2></h2>
そのためのコードは次のとおりです。
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
不良ループのすぐ下。すべての投稿またはページには、この特定の ID が表示されます。
何か案は?
編集して追加:
今私が持っている functions.php で:
add_action('init', 'register_custom_menu');
function register_custom_menu() {
register_nav_menu('header', 'Header Menu');
}
そして私のheader.phpには次のものがあります:
<?php wp_nav_menu(array('menu' => 'Header Menu')); ?>
そして、作成したメニューが GUI で選択されます。メニューは完全に表示されますが、ページのコンテンツはなくなります。