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

如何在WordPress的sidebar.php中获取页面分类/别名与标题?

没问题!假设你是在WordPress环境下(毕竟sidebar.php是WP模板里的常见文件),这里有两种靠谱的方法来获取你要的信息:

获取页面标题

在sidebar.php里,你可以用WordPress内置函数直接拿到当前页面的标题,推荐结合get_queried_object_id()来确保准确性——不管当前是单页面、归档页还是帖子,都能精准拿到对应标题:

// 获取当前页面/归档的ID
$current_object_id = get_queried_object_id();
// 获取对应的标题(返回字符串,方便后续处理)
$page_title = get_the_title($current_object_id);

// 输出或使用标题
echo $page_title; // 会输出 "awesome explanation of abc"

如果只是想直接输出标题,也可以用the_title(),但它会直接渲染内容,而get_the_title()返回字符串更灵活。

获取URL中的目标Slug(video-tuts部分)

这里分两种常见场景,你可以根据实际需求选择:

场景1:目标Slug是当前页面的父页面Slug

如果abc是video-tuts的子页面,那可以通过页面的父子关系来获取父页面Slug:

// 获取当前页面的Post对象
$current_page = get_post(get_queried_object_id());

// 检查当前页面是否有父页面
if ($current_page && $current_page->post_parent) {
    // 获取父页面的Post对象
    $parent_page = get_post($current_page->post_parent);
    // 父页面的Slug存储在post_name属性中
    $parent_slug = $parent_page->post_name;
    
    echo $parent_slug; // 输出 "video-tuts"
} else {
    // 没有父页面时的 fallback 逻辑
    echo "No parent page found";
}

场景2:直接从URL路径中提取第一个分段

如果你不需要依赖页面的父子关系,只想直接从URL里拿第一个路径段,比如www.example.com/video-tuts/abc里的video-tuts,可以通过$_SERVER全局变量处理:

// 先移除URL中的查询参数(比如?foo=bar这类)
$request_uri = strtok($_SERVER['REQUEST_URI'], '?');
// 去掉首尾的斜杠,避免产生空分段
$clean_uri = trim($request_uri, '/');
// 把路径按斜杠分割成数组
$path_segments = explode('/', $clean_uri);

// 提取第一个分段作为目标Slug
if (!empty($path_segments[0])) {
    $target_slug = $path_segments[0];
    echo $target_slug; // 输出 "video-tuts"
} else {
    // 处理首页的情况,可自定义逻辑
    echo "Home page";
}

内容的提问来源于stack exchange,提问作者Abdus Sattar Bhuiyan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:45:46