相信很多人在使用WordPress的时候,都喜欢使用文章别名作为固定链接,如我的博客固定链接形式为 https://laohao.org/%postname%.html
,这个postname就是文章的别名(也称 slug name)。你在后台编写文章的时候,可以自己定义文章的别名,如下图的黄色部分:
当然你可以在文章编辑页,点击某篇文章下的"快速编辑",那里也可以编辑别名:
现在有个问题,我怎样才能获取这个文章别名呢?WordPress中提供了<?php the_title(); ?>来获取文章标题,<?php the_permalink(); ?>用于获取当前文章的链接,但是并没有发现获取文章别名的函数。找不到相应的函数,我们可以自己写个函数,以下是已编写好的函数,你可以编辑你的主题目录中的functions.php
,在 ?>
前面添加以下函数:
function the_slug() {
$post_data = get_post($post->ID, ARRAY_A);
$slug = $post_data['post_name'];
return $slug;
}
然后你就可以在你需要的地方调用该函数了:
<?php echo the_slug(); ?>
输出结果为当前文章的别名,如本文的为 wordpress-post-slug-and-page-slug-function
如果你用的别名是中文,那么调用出来的将会是一堆乱码,因为WordPress对中文的别名进行了编码,在数据库中存储的不是中文。
参考文章: