【发布时间】:2014-05-13 10:11:15
【问题描述】:
全部修改请重读
你好, 我使用的主题显示页面的标题,而不是面包屑中的菜单标签。我试图让面包屑显示相关的菜单标签(如果可用,如果不可用,则默认为 page_title。
我想出了一些我认为很接近的代码。第 4 行 /// $menu_items = wp_get_nav_menu_items( $slug );返回 null 并且它应该返回包含当前帖子的 $slug 的导航项。显然,有些地方我不明白。
我正在尝试做的是获取当前帖子的 slug,然后使用 slug 获取导航项目帖子。然后提取导航项的标题并使用它代替面包屑中的页面标题。如果页面不在导航系统中,那么它应该默认为页面标题,这可能是 ppc 活动登陆页面的情况。
if ( is_page() && !$post->post_parent ) {
$title = null;
$slug = mpactMEDIA_get_the_slug( get_the_ID() );
$menu_items = wp_get_nav_menu_items( $slug );
//var_dump((array)$menu_items);
foreach ( (array)$menu_items as $key => $menu_item ) {
$title = $menu_item->post_title;
}
if ( $title ) { echo $delimiter . ' ' . $before . $title . $after; }
else { echo $delimiter . ' ' . $before . get_the_title() . $after; }
}
我是我的functions.php文件我有以下函数
function mpactMEDIA_get_the_slug( $id=null ){
if( empty($id) ) global $post;
if( empty($post) ) return '';
$id = $post->ID;
endif;
$slug = basename( get_permalink($id) );
return $slug;
}
提前谢谢你,
提姆
【问题讨论】:
-
你能把这个巨大的功能减少到你感兴趣的部分吗?
-
布拉斯菲洛没问题。我已经编辑了帖子并试图澄清我的查询。谢谢。
标签: wordpress