我正在尝试创建某种自定义菜单。其中,我在主菜单中列出我的页面的所有标题,并显示每个页面的元框值。出于某种原因,所有项目的get\\u post\\u meta都保持为空。我不明白为什么。
<?php
$array_menu = wp_get_nav_menu_items(\'header-menu\');
$menu = array();
foreach ($array_menu as $m) {
if (empty($m->menu_item_parent)) {
?>
<h4><a href="<?php echo $m->url;?>"><?php echo $m->title;?></a></h4>
<p>
<?php echo get_post_meta($m->ID, \'meta_box_subtitle\', true); ?>
</p>
<?php
}
}
?>
最合适的回答,由SO网友:David Lee 整理而成
您正在发送ID
菜单项的ID
尝试使用url_to_postid()
像这样:
<?php
$array_menu = wp_get_nav_menu_items(\'header-menu\');
$menu = array();
foreach ($array_menu as $m) {
if (empty($m->menu_item_parent)) {
?>
<h4><a href="<?php echo $m->url;?>"><?php echo $m->title;?></a></h4>
<p>
<?php global $wp_query;
$pageID = url_to_postid( $m->url );
echo get_post_meta($pageID, \'meta_box_subtitle\', true);
?>
</p>
<?php
}
}
?>