如何获得当前页面菜单项祖先名称wordpress

时间:2018-08-24 14:05:44

标签: php wordpress

我想知道如何将当前页面的名称检索为变量。 例如,我的菜单就像:

Item 1
Item 2 => sub-item 1

项目1和2是自定义链接。 sub-item1是我的页面。

当我在此页面上时,我想检索“项目2”的名称(以构建我的自定义面包屑)

谢谢

3 个答案:

答案 0 :(得分:1)

BREADCRUMBS:

这里是一个面包屑功能,可与菜单的层次结构一起使用。将此添加到主题的“ functions.php”中。

function my_menu_breadcrumb($theme_location, $separator = ' > ') {
    $locations = get_nav_menu_locations();
    if ( isset( $locations[ $theme_location ] ) ) {
        $menu = wp_get_nav_menu_object( $locations[ $theme_location ] );
        $menu_items = wp_get_nav_menu_items($menu->term_id);
        _wp_menu_item_classes_by_context( $menu_items );
        $breadcrumbs = array();

        foreach ( $menu_items as $menu_item ) {         
            if ($menu_item->current) {
                $breadcrumbs[] = "<span title=\"{$menu_item->title}\">{$menu_item->title}</span>";
            }
            else if ($menu_item->current_item_ancestor) {
                $breadcrumbs[] = "<a href=\"{$menu_item->url}\" title=\"{$menu_item->title}\">{$menu_item->title}</a>";
            }
        }

        echo implode($separator, $breadcrumbs);
     }
}

然后可以以<?php my_menu_breadcrumb('header-menu'); ?>的形式调用,其中“ header-menu”是菜单位置名称。在循环中,$menu_item->title将返回页面标题,而$menu_item->url是URL。

父菜单标题:

这里是获取当前页面的父菜单项标题的功能-将其添加到主题的“ functions.php”中。

function my_menu_parent($theme_location) {
    $locations = get_nav_menu_locations();
    if ( isset( $locations[ $theme_location ] ) ) {
        $menu = wp_get_nav_menu_object( $locations[ $theme_location ] );
        $menu_items = wp_get_nav_menu_items($menu->term_id);
        _wp_menu_item_classes_by_context( $menu_items );
        $breadcrumbs = array();

        foreach ( $menu_items as $menu_item ) {         
            if ($menu_item->current_item_ancestor) {
                $breadcrumbs[] = $menu_item->title;
            }
        }

        return $breadcrumbs;
     }
}

然后可以按以下方式调用,其中“ header-menu”是菜单位置名称。

$parentitems = my_menu_parent( 'header-menu' );
foreach ( $parentitems as $parentitem ) {
    echo $parentitem."<br>";
}

答案 1 :(得分:0)

您可以使用此

setContentView(R.layout.preview);
SurfaceView mPreview = (SurfaceView) findViewById(R.id.preview);

答案 2 :(得分:0)

在线上有很多教程和代码片段,描述了如何在WordPress的子菜单中显示活动页面的子项(如果是其中一个,则显示活动页面的兄弟姐妹)。通常是这样的:

<?php
$ref_post = empty($post->post_parent) ? $post->ID : $post->post_parent;
$children = wp_list_pages('title_li=&child_of='.$ref_post.'&echo=0');
if ($children) {
echo "<ul>$children</ul>";
}
?>

对于裁判:-https://www.minddevelopmentanddesign.com/blog/showing-current-pages-parents-sub-menu-items-custom-nav-menu-wordpress/