什么是导航菜单项
翻译帖子时,页面(&;自定义帖子类型,那么我猜你也会翻译标题。一般来说,导航菜单项只是帖子、页面等,因此(应该)包含全部内容&;帖子提供的数据(如果没有,那么您仍然可以调用帖子元)。
过滤器回调函数:nav菜单项的输出有一个过滤器
相反:它可能会导致问题,例如管理UI屏幕上没有出现导航菜单,因此请注意正确测试The "check nav menu items" callback function:
function wpse18880_check_nav_menu_items( $items, $menu, $args )
{
if ( is_admin() )
return;
echo \'<pre>\';
# Show what we got:
echo \'<h3>THE MENU</h3>\';
print_r( $menu );
echo \'<hr /><h3>THE ITEMS</h3>\';
print_r( $items );
echo \'<hr /><h3>THE ARGUMENTS</h3>\';
print_r( $args );
echo \'</pre>\';
return $items;
}
add_filter( \'wp_get_nav_menu_items\', \'wpse18880_check_nav_menu_items\', 10, 3 );
修改菜单项:查看
$item
, 您将看到每个项目都附带了它的post数据(“或不管是什么”-数据)。因此,调用附加post数据(通过
get_post_meta()
) 如以下示例所示,您可以访问特定语言的内容:
// This example is for \'post\' post_type menu items:
foreach ( $items as $item )
{
$post_ID = $item->ID;
// now let\'s overwrite the original post_title
$item->post_title = get_post_meta( $post_ID, \'i18n_title\', true );
}
注意:我只测试了检查导航菜单项功能,没有覆盖单项数据。如果您的答案有效,请使用最终代码更新此答案。非常感谢。