要修改WordPress自定义文章类型(Custom Post Type)的文章URL结构,你可以使用WordPress的rewrite_rules_arraypost_type_link

wordpress修改自定义文章类型文章URL结构的方法

等钩子函数。以下是修改的一般步骤:

  1. 注册自定义文章类型:
    首先,在你的主题或自定义插件中注册你的自定义文章类型。例如:

    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');
  2. 修改文章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_typetaxonomy_name为你实际使用的自定义文章类型和分类法名称。

  3. 保存固定链接设置:
    在你修改了URL结构后,确保在WordPress后台的“设置” > “固定链接”下点击“保存更改”以刷新固定链接设置。

这些步骤将帮助你修改自定义文章类型的文章URL结构。确保备份你的网站或测试这些更改以确保一切正常运行。