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

相关推荐
耶叶21 分钟前
Android 新权限申请模型(Activity Result API)
android
阿拉斯攀登26 分钟前
【RK3576 安卓 JNI/NDK 系列 04】JNI 核心语法(下):字符串、数组与对象操作
android·驱动开发·rk3568·瑞芯微·rk安卓驱动·jni字符串操作
2501_9159090627 分钟前
不用越狱就看不到 iOS App 内部文件?使用 Keymob 查看和导出应用数据目录
android·ios·小程序·https·uni-app·iphone·webview
llxxyy卢31 分钟前
web部分中等题目
android·前端
轩情吖35 分钟前
MySQL之事务管理
android·后端·mysql·adb·事务·隔离性·原子性
syjy21 小时前
Rank Math SEO PRO插件使用教程(含下载)
wordpress·wordpress建站
万物得其道者成1 小时前
uni-app Android 离线打包:多环境(prod/dev)配置
android·opencv·uni-app
符哥20081 小时前
Firebase 官方提供的Quick Start-Android 库的功能集讲解
android
koeda1 小时前
android17系统兼容
android·安卓
进击的cc2 小时前
面试官:Handler 没消息时为啥不卡死?带你从源码到底层内核彻底整明白!
android·面试