从WordPress URL中删除自定义帖子类型可以通过以下步骤实现:
function remove_custom_post_type_slug($post_link, $post, $leavename) {
if ('your_custom_post_type' == $post->post_type && 'publish' == $post->post_status) {
$post_link = str_replace('/your_custom_post_type/', '/', $post_link);
}
return $post_link;
}
add_filter('post_type_link', 'remove_custom_post_type_slug', 10, 3);
function parse_request_remove_custom_post_type_slug($query) {
if (!$query->is_main_query()) {
return;
}
if (2 != count($query->query) || !isset($query->query['page'])) {
return;
}
if (!empty($query->query['name'])) {
$query->set('post_type', array('post', 'your_custom_post_type', 'page'));
}
}
add_action('pre_get_posts', 'parse_request_remove_custom_post_type_slug');
请注意,你需要将代码中的'your_custom_post_type'替换为你自己的自定义帖子类型的名称。
完成上述步骤后,你的自定义帖子类型的URL将不再包含自定义帖子类型的名称。
这种方法的优势是可以简化URL结构,使其更加友好和易读。它还可以提高SEO效果,因为较短的URL更容易被搜索引擎索引和识别。
这个方法适用于那些希望在WordPress网站中使用自定义帖子类型,但又不希望在URL中显示自定义帖子类型名称的用户。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云