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

相关推荐
liang_jy8 小时前
Android SparseArray
android·源码
liang_jy9 小时前
Activity 启动流程扩展篇(一)—— startActivityInner 任务决策全解析
android·源码
NPE~10 小时前
[App逆向]脱壳实战
android·教程·逆向·android逆向·逆向分析
木易 士心10 小时前
别再只会用 drawCircle 了!一文搞懂 Android Canvas 底层机制
android
AtOR CUES11 小时前
MySQL——表操作及查询
android·mysql·adb
怣疯knight13 小时前
安卓App无法增加自定义图片作为图标功能
android
jinanwuhuaguo14 小时前
OpenClaw联邦之心——从孤岛记忆到硅基集体潜意识的拓扑学革命(第二十三篇)
android·人工智能·kotlin·拓扑学·openclaw
Gary Studio16 小时前
安卓HAL C++基础-命名域
android
诸神黄昏EX16 小时前
Android Google XTS
android
eSsO KERF17 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql