要修改WordPress自定义文章类型(Custom Post Type)的文章URL结构,你可以使用WordPress的rewrite_rules_array
和post_type_link
等钩子函数。以下是修改的一般步骤:
注册自定义文章类型:
首先,在你的主题或自定义插件中注册你的自定义文章类型。例如:
function custom_post_type() {
$args = array(
'public' => true,
'label' => 'Custom Post Type',
// 其他参数
);
register_post_type('custom_post_type', $args);
}
add_action('init', 'custom_post_type');
修改文章URL结构:
使用rewrite_rules_array
过滤器来修改文章的URL结构。在你的主题的functions.php
文件中添加以下代码:
function custom_rewrite_rules($rules) {
$new_rules = array(
'customposttype/([^/])/?$' => 'index.php?post_type=custom_post_type&name=$matches[1]'
);
return $new_rules $rules;
}
add_filter('rewrite_rules_array', 'custom_rewrite_rules');
function custom_post_type_permalink($permalink, $post) {
if (strpos($permalink, '%customposttype%') === false) {
return $permalink;
}
$terms = get_the_terms($post, 'taxonomy_name'); // 替换为你的自定义分类法名称
if (!is_wp_error($terms) && !empty($terms)) {
$term_slug = $terms[0]>slug;
} else {
$term_slug = 'uncategorized';
}
$permalink = str_replace('%customposttype%', $term_slug, $permalink);
return $permalink;
}
add_filter('post_type_link', 'custom_post_type_permalink', 10, 2);
请确保替换上述代码中的custom_post_type
和taxonomy_name
为你实际使用的自定义文章类型和分类法名称。
保存固定链接设置:
在你修改了URL结构后,确保在WordPress后台的“设置” > “固定链接”下点击“保存更改”以刷新固定链接设置。
这些步骤将帮助你修改自定义文章类型的文章URL结构。确保备份你的网站或测试这些更改以确保一切正常运行。