wordpress根据页面别名获取该页面的链接

在 WordPress 里,只要知道页面别名(slug),就可以一行代码拿到对应链接,无需写 SQL:

复制代码
<?php
// 页面别名
$slug = 'about-us';

// 根据别名获取页面对象
$page = get_page_by_path($slug, OBJECT, 'page');

// 拿到链接
$link = $page ? get_permalink($page) : home_url('/');

echo '<a href="' . esc_url($link) . '">前往页面</a>';

封装成可重用的函数(扔主题 functions.php):

复制代码
/**
 * 根据别名获取页面链接
 * wodepress.com
 * @param string $slug 页面别名
 * @return string 链接(找不到返回首页)
 */
function get_page_link_by_slug($slug) {
    $page = get_page_by_path($slug, OBJECT, 'page');
    return $page ? get_permalink($page) : home_url('/');
}

模板里调用:

复制代码
<a href="<?php echo esc_url(get_page_link_by_slug('about-us')); ?>">关于我们</a>

多语言插件(WPML/Polylang)场景

如果站点启用了 WPML,别名可能随语言变化,建议用 页面 ID 或 icl_object_id 做兼容;否则上述代码依旧适用。

原文

https://www.wpniu.com/article/6682.html

相关推荐
JohnnyDeng945 小时前
【Android】Hilt 依赖注入:原理与最佳实践
android·kotlin·mvvm·hilt
cll_8692418916 小时前
WordPress Porto 主题后台一直提示 Porto Functionality 插件需要更新,如何隐藏?
wordpress
星间都市山脉8 小时前
Android STS(Security Test Suite)完整介绍与测试流程
android·java·linux·windows·ubuntu·android studio·androidx
Yeyu9 小时前
你真的了解AIDL吗? 附:AIDL 与 Binder 交互全解析
android
dualven_in_csdn11 小时前
一键起飞调用示例
android·java·javascript
故渊at11 小时前
第十板块:Android 系统稳定性与调试 | 第二十五篇:Watchdog 与 ANR 的系统级监控
android·watchdog·系统稳定性·anr·超时监控
故渊at12 小时前
第十板块:Android 系统稳定性与调试 | 第二十六篇:Systrace 与 Perfetto 的系统级性能分析
android·perfetto·性能分析·systrace·系统稳定性
吕工-老船长199812 小时前
20260610----S905Y5(Android14)-----连接网络自动更新时间,时间设置为24小时
android
杉氧13 小时前
Kotlin 协程深度解析④:架构实战——在 MVVM/MVI 中的进阶应用
android·kotlin