WordPress中的hook(钩子)post_type_link钩子是在生成文章类型的永久链接时触发,可以用来自定义文章类型的URL结构。
使用post_type_link钩子的步骤如下:
1. 注册自定义文章类型
在functions.php文件或自定义插件中,使用register_post_type函数注册自定义文章类型。例如:
function custom_post_type() {
$args = array(
'public' => true,
'labels' => array(
'name' => 'Custom Post Type',
'singular_name' => 'Custom Post',
),
// 其他参数
);
register_post_type('custom_post', $args);
}
add_action('init', 'custom_post_type');
2. 自定义URL结构
使用post_type_link钩子,可以自定义自定义文章类型的URL结构。在functions.php文件或自定义插件中,使用add_filter函数添加一个过滤器,如下所示:
function custom_post_type_permalink($permalink, $post, $leavename) {
if ($post->post_type == 'custom_post') {
$permalink = home_url('/custom/' . $post->post_name . '/');
}
return $permalink;
}
add_filter('post_type_link', 'custom_post_type_permalink', 10, 3);
在上面的示例中,我们将自定义文章类型的URL前缀设为/custom/,然后附加文章的post_name作为URL的一部分。
3. 刷新永久链接结构
在WordPress中更改永久链接结构后,需要手动刷新永久链接设置,以使自定义URL结构生效。可以通过在后台导航到“设置”>“永久链接”页面,然后点击“保存更改”按钮来刷新永久链接设置。
现在,当你创建一个自定义文章类型的文章时,它的永久链接将按照你在步骤2中定义的URL结构来生成。
需要注意的是post_type_link钩子只会在生成文章类型的永久链接时触发,如果你在已经存在的文章上更改了URL结构,那么这些文章的链接将不会更改,除非你手动更新它们。
0 个评论