WordPress中的post_link是一个钩子,可以用来修改文章的链接。
首先,需要在functions.php文件中使用add_filter函数来添加post_link钩子:
add_filter('post_link', 'custom_post_link', 10, 2);
这个函数接受四个参数:
- 钩子的名称:'post_link'
- 回调函数:'custom_post_link'
- 优先级:10(可选,默认为10)
- 参数个数:2(可选,默认为1)
接下来,需要定义回调函数custom_post_link:
function custom_post_link($permalink, $post) {
// 在这里修改链接的逻辑代码
return $permalink;
}
这个函数接受两个参数:
- $permalink:当前文章的链接
- $post:当前文章的WP_Post对象
在回调函数内部,可以使用if语句,根据不同条件来修改链接的逻辑代码。例如,可以根据文章的分类、标签等信息来修改链接:
function custom_post_link($permalink, $post) {
if (has_category('news', $post)) {
$permalink = $permalink . '/news';
}
return $permalink;
}
上述代码是在链接后面添加了一个'/news'的路径,如果文章属于'news'分类。
最后,需要调用remove_filter函数来移除post_link钩子:
remove_filter('post_link', 'custom_post_link', 10, 2);
这个函数接受四个参数,与add_filter函数相同。
0 个评论