当我尝试更新一直使用 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 codex 的基本实现。
对 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 中选择的。菜单显示完美,但页面上的内容不见了。