在Wordpress上添加预先存在的索引页(根)作为新页面,以便链接到导航栏中的“主页”

时间:2015-08-22 16:39:54

标签: php wordpress indexing navigation wordpress-theming

这可能是一个非常愚蠢的问题,但我使用word press功能来添加导航栏: $menuItems = array('theme_location' => 'primary'); wp_nav_menu($menuItems);所以我可以在信息中心内添加页面和订单。

我的主题文件夹的根目录中已经有一个索引页面(index.php)。我无法弄清楚如何将其添加为页面,以便它出现在导航栏中?网站上的网址路径仅为localhost/wordpress/,但在添加新网页时,您无法将固定链接保留为空白。

任何提示?提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果其他人遇到问题我找到了解决方案。

我从Building a simple list复制了该函数,并在最后添加了我自己的链接,如此

$homeUrl =  home_url();
$menuList .= '<li><a class="menu-item menu-item-type-post_type menu-item-object-page" href="'. $homeUrl .'">Home</a></li>';

完整的代码是:

// Get the location of the navigation menu
$locations = get_nav_menu_locations();

// Get the menu itself from the location (primary is header in my case)
$menu = wp_get_nav_menu_object($locations['primary'] );

// Get the menu items
$menuItems = wp_get_nav_menu_items($menu->term_id);

// Initialise a string to hold the unorded list
$menuList = '<ul id="menu-' . $menuName . '">';

// Iterate through each menu item from the list of all menu items and append
// Name of menu item and url to its page
foreach ( (array) $menuItems as $key => $menuItem ) {
     $title = $menuItem->title;
     $url = $menuItem->url;
     $menuList .= '<li><a href="' . $url . '">' . $title . '</a></li>';
}
// Get the link to home url (in my case root (localhost/wordpress/)
$homeUrl =  home_url();

// Append own link
$menuList .= '<li><a href="'. $homeUrl .'">Home</a></li>';

// Close the unordered list tag
$menuList .= '</ul>';

// Echo the list back to html
echo $menuList;

这段代码包含在导航栏所在的头文件中,包含在PHP块中。

我的问题是使用wp_nav_menu($menuItems);意味着我需要添加的硬编码列表项不包含在函数自动创建的无序列表中,从而导致样式问题。 这会解压缩列表,附加自己的自定义链接并显示它。