返回
为自定义帖子类型添加自定义分类法术语 Slug:分步指南
php
2024-03-09 08:33:22
为自定义帖子类型添加自定义分类法术语 Slug
简介
分类法术语 Slug 在组织 WordPress 中自定义帖子类型的内容时至关重要。本指南将深入探究如何将自定义分类法术语 Slug 添加到自定义帖子类型中,并解决实施过程中可能遇到的问题。
步骤
1. 创建自定义帖子类型和分类法
使用 ACF 创建自定义帖子类型“活动”和自定义分类法“季节”。为自定义帖子类型配置适当的 permalink 结构,并保留自定义分类法术语的默认 Slug 值。
2. 自定义帖子类型 Permalink
将以下代码段添加到 functions.php 文件中,以自定义“活动”帖子类型的 permalink 结构:
function custom_post_type_permalink($permalink, $post, $leavename) {
if ($post->post_type == 'activity') {
$terms = wp_get_post_terms($post->ID, 'season');
if (!empty($terms) && !is_wp_error($terms)) {
$season_slug = $terms[0]->slug;
$permalink = str_replace( '%season%' , $season_slug , $permalink );
}
}
return $permalink;
}
add_filter('post_type_link', 'custom_post_type_permalink', 10, 3);
常见问题
1. 404 错误
这可能是因为默认帖子类型页面的 permalink 结构仍使用旧值。更新所有默认帖子类型页面的 permalink。
2. 可选季节
要使季节可选,请修改代码段如下:
function custom_post_type_permalink($permalink, $post, $leavename) {
if ($post->post_type == 'activity') {
$terms = wp_get_post_terms($post->ID, 'season');
if (!empty($terms) && !is_wp_error($terms)) {
$season_slug = $terms[0]->slug;
$permalink = str_replace( '%season%' , $season_slug , $permalink );
} else {
$permalink = str_replace( '%season%' , '' , $permalink );
}
}
return $permalink;
}
结论
通过遵循这些步骤,你可以将自定义分类法术语 Slug 成功添加到自定义帖子类型中。遵循提供的指南和排除故障步骤,确保顺利实现。
常见问题解答
-
为什么使用自定义分类法术语 Slug 很重要?
自定义 Slug 提供了一种有意义的方式来组织内容,提高 SEO,并改善用户体验。 -
如何获取分类法术语 Slug?
通过 wp_get_post_terms() 函数从帖子对象中获取分类法术语 Slug。 -
permalink 结构可以自定义吗?
是的,你可以使用自定义代码段来自定义帖子类型的 permalink 结构。 -
如果我需要为多种分类法创建 Slug 怎么办?
重复代码段并针对每个分类法定制替换文本。 -
如果我遇到问题怎么办?
检查你的代码段是否存在错误,并确保已正确配置自定义帖子类型和分类法。