更改WordPress上的永久链接结构以使用自定义分类

时间:2010-05-12 18:54:40

标签: wordpress url rewrite taxonomy permalinks

我想更改WordPress 3.0-beta1上的永久链接模式以使用我的新自定义分类。

今天我可以使用/%category%/%postname%//my-category/my-post/网址,这很不错,但我需要使用其他分类而不是“类别”。

我尝试使用/%acervo%/%postname%/,但我的网址在网址上附带%acervo%,而不是帖子所属的“ Acevo ”(我的分类名称)的名称

我找到了与WP_Rewrite相关但没有成功的东西......

4 个答案:

答案 0 :(得分:0)

您可以尝试使用WordPress插件No Category Base,然后使用postname通配符对分类法进行硬编码,如下所示:

/acervo/%postname%/

请注意,acervo没有百分号,因为它是“硬编码”而不是通配符。

答案 1 :(得分:0)

只需在Dashboard/Settings/Permalinks中更改您的类别库,无需删除类别库,然后再将其添加。

答案 2 :(得分:0)

我明白了......将固定链接结构更改为/%acervos%/%postname%/,然后潜入WP_Rewrite并添加了一个新的“替换标记”,将%acervos%替换为(.*) regexp。

答案 3 :(得分:0)

这应该是诀窍。

function acervo_permalink($permalink, $post_id, $leavename){
    if (get_option('permalink_structure') != ''){
        $post = get_post($post_id);
        $rewritecode = array(
            '%acervo%'
        );
        if (strpos($permalink, '%acervo%') !== FALSE){   
            $terms = wp_get_object_terms($post->ID, 'acervo');  
            if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $acervo = $terms[0]->slug;
            else $acervo = '';
        }
        $rewritereplace = array(
            $acervo
        );
        $permalink = str_replace($rewritecode, $rewritereplace, $permalink);
    } 
    return $permalink;
}