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

相关推荐
limuyang21 小时前
PDF Viewer KMP(基于 chrome 的 PDFium 内核)
android·kotlin
心平气和量大福大5 小时前
android-控件-搜索框SearchView
android·gitee
2601_962177135 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql
壮哥_icon5 小时前
【Android】批量 VectorDrawable 动态分别修改 fillColor 和 strokeColor 的踩坑与终极解决方案
android
齐天qaq6 小时前
Android 系统 APK 分区与权限
android
心平气和量大福大6 小时前
android-控件-多选框CheckBox
android·gitee
pengyu8 小时前
【Kotlin 协程修仙录 · 大乘境 · 初阶】 | 跳出三界:协程在 KMP 与后端开发中的跨平台之道
android·kotlin
XiaoLeisj8 小时前
Android Memory Profiler:堆内存指标、内存抖动与泄漏定位
android·性能优化·内存抖动·内存泄露·memory profiler
未来猫咪花8 小时前
Everything is ViewModel:让状态管理回到对象世界
android·flutter·ios