You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress中如何调用从屏幕选项开启的标题属性?

解决WordPress菜单标题动态调用问题

首先得明确:你用wp_list_pages()函数是用来输出WordPress页面的列表,但你提到的“通过屏幕选项为菜单添加标题”,应该是在「外观 → 菜单」里给自定义菜单项设置的标题(或者菜单项的title属性),这俩不是一个体系的,所以用wp_list_pages自然拿不到你设置的菜单标题。

下面给你两种针对性的解决方案:

方案一:改用自定义菜单函数(推荐)

如果你是用WordPress的自定义菜单功能创建的导航,直接用wp_nav_menu()替代wp_list_pages,它会自动读取你在菜单里设置的所有属性,包括你通过屏幕选项添加的标题:

wp_nav_menu(array(
    'menu' => '你的菜单名称/ID', // 替换成你实际的菜单名称或ID
    'container' => false, // 去掉默认的div容器
    'items_wrap' => '<ul>%3$s</ul>', // 只输出ul列表结构
    'fallback_cb' => false // 如果菜单不存在不显示 fallback 内容
));

这个函数会自动渲染你在菜单里设置的每个菜单项,包括你添加的标题属性(默认会作为a标签的title属性输出)。

方案二:如果必须用wp_list_pages(针对页面列表)

如果你确实需要调用特定页面(比如ID为5的页面),同时想显示你在页面编辑界面通过屏幕选项添加的自定义标题(比如自定义字段),可以先获取页面数据,再手动循环输出:

// 获取指定页面的数据
$target_page = get_pages(array('include' => array(5)));
if (!empty($target_page)) {
    $page = $target_page[0];
    // 假设你添加的自定义标题字段名为"menu_title",替换成你实际的字段名
    $custom_title = get_post_meta($page->ID, 'menu_title', true);
    // 优先用自定义标题,没有则用页面默认标题
    $display_title = !empty($custom_title) ? $custom_title : $page->post_title;
    // 输出列表项
    echo '<li><a href="' . get_permalink($page->ID) . '" title="' . esc_attr($display_title) . '">' . esc_html($display_title) . '</a></li>';
}

补充说明

你当前的wp_list_pages(array( 'title_li'=>'','include'=> array( 5 )));里的title_li=>''只是用来去掉列表的默认标题(比如“页面”这个大标题),它并不会影响单个页面项的标题内容,所以对你要调用的自定义菜单标题没有帮助。

内容的提问来源于stack exchange,提问作者rajkishor saw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:06:02