Im使用自定义菜单显示使用wp\\U nav\\U menu()的菜单。我想在菜单中获取父级的\\u content(),而不将其设置为页面中的父级页面。是否有方法获取父id(在php中)。我可以看到wp\\u nav\\u菜单为父项提供了一个特殊的类名,因此我相信我应该能够检索该项id,并在页面加载之前对其进行处理。这可能吗?
谢谢
Im使用自定义菜单显示使用wp\\U nav\\U menu()的菜单。我想在菜单中获取父级的\\u content(),而不将其设置为页面中的父级页面。是否有方法获取父id(在php中)。我可以看到wp\\u nav\\u菜单为父项提供了一个特殊的类名,因此我相信我应该能够检索该项id,并在页面加载之前对其进行处理。这可能吗?
谢谢
不确定这是否足够健壮,但它显示了通过菜单的基本遍历,首先查找当前帖子,然后再查找其菜单父项:
/**
* @param mixed $menu
* @param int $post_id
*
* @return WP_Post|bool
*/
function get_menu_parent( $menu, $post_id = null ) {
$post_id = $post_id ? : get_the_ID();
$menu_items = wp_get_nav_menu_items( $menu );
$parent_item_id = wp_filter_object_list( $menu_items, array( \'object_id\' => $post_id ), \'and\', \'menu_item_parent\' );
if ( ! empty( $parent_item_id ) ) {
$parent_item_id = array_shift( $parent_item_id );
$parent_post_id = wp_filter_object_list( $menu_items, array( \'ID\' => $parent_item_id ), \'and\', \'object_id\' );
if ( ! empty( $parent_post_id ) ) {
$parent_post_id = array_shift( $parent_post_id );
return get_post( $parent_post_id );
}
}
return false;
}
我在名为custom的javascript(jquery)文件中获得了以下代码。js公司: var gapinvite = new Date(); gapinvite = new Date(2014, 06 - 1, 2); $(\'.days\').countdown({ until: gapinvite, layout: \'{dn} {dl}\', /* Se