2010-05-12 34 views
0

我想改變我的WordPress 3.0-β1後永久鏈接模式用我的新的自定義分類。更改後的固定鏈接結構使用自定義分類

今天我可以使用/%category%/%postname%//my-category/my-post/網址,這很好,但我需要使用另一個分類,而不是「類別」之一。

我試圖用/%acervo%/%postname%/,但我的網址與%acervo%的URL來代替「Acevo」(我的分類名)的名字至極的專屬於。

我發現有關WP_Rewrite但沒有sucess東西...

回答

0

你可以嘗試使用WordPress插件,No Category Base,然後硬編碼分類與postname通配符,像這樣:

/acervo/%postname%/ 

注意acervo沒有百分比符號,因爲它的「硬編碼」,而不是一個通配符。

+0

我不想硬編碼什麼...這個帖子屬於一個或多個'acervo'(我的分類法),我想用wordpress函數,鉤子或過濾器(如果需要)在post-permalink中插入這個值,以便能夠依靠'the_permalink() '功能。 – 2010-05-12 22:56:08

+0

我聽到你。我還沒有搞砸WP3.0,知道這是否可以完成,我很確定他們的文檔在這一點上是缺乏的。最好的辦法是查看永久鏈接設置處理的源代碼,看是否有任何更改/添加。 – hsatterwhite 2010-05-13 00:43:05

0

簡單地改變你的類別基地Dashboard/Settings/Permalinks無需擺脫類別基地,然後重新添加進去。

+0

正如我說我的問題,我不想使用類別分類...我需要使用'acervo'分類的URL ...類別頁面和類別基地無關與此有關。 – 2010-05-12 22:57:09

0

我知道了......改變了固定鏈接結構來/%acervos%/%postname%/,然後跳入WP_Rewrite,並增加了新的「替代標記」與(.*)正則表達式替換%acervos%

+0

我有一個toxonomy問題(這次是由插件生成的)。 所以沒有辦法有一個/%分類長期%/%postname%/在管理面板採用固定鏈接設置網址是什麼?我需要去編碼嗎? – Bakaburg 2012-03-21 02:19:19

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; 
} 
相關問題