2016-10-21 90 views
0

我有一個WordPress安裝與自定義類型(的地方)至極產生這種固定鏈接結構:添加特定的詞使用WordPress自定義類型蛞蝓

http://example.com/places/the-first-site/

而且我想展示我所有的網站是這樣的:

http://example.com/places/visit-the-first-site-and-enjoy/

其中「訪問」和「和享受」會總是那些特定的詞(常量)。

更妙的是我想提出一個自定義分類我有(一年)作爲元數據

地方/造訪的先站點和享受-1985/

我可以訪問DB和修改所有帖子的帖子名稱,但我也必須爲新帖子做,我正在尋找一些自動化的規則,但無法找到如何做。

也許一些重寫規則,但我不知道該怎麼做。

任何想法??

+0

將每篇文章的固定鏈接更改爲你喜歡的內容 –

回答

0

編輯東西在你的數據庫也不任何在你的WordPress安裝;你的可以實現,直接從你的WordPress管理面板

從你儀表板下,單擊設置永久子菜單; there,你將不得不選擇自定義結構選項,以便將其設置爲後續達到你想要的效果:

/places/visit-%postname%-and-enjoy-%year%/

請注意:在這裏,我們利用%postname%%year%Structure Tags以獲取與其相應的公開年份的帖子的名稱分別。

不要忘記單擊頁面上的保存更改按鈕以實現您的更改。

...瞭解更多關於Permaklinks(普通知識)。

對於自定義後類型和分類所表達的意見中進一步,你需要一個定製的解決方案,這將需要編碼和扭捏或一點點,這取決於你的能力;你可以使用這個方便的插件(Custom Post Type Permalinks)。

posts應該同樣你有很大的幫助,入門和深入瞭解,你應該選擇的代碼。

+0

我知道這一點,但如果我這樣做,它會改變所有網站的slu,,我只想做一個自定義類型的文章。 – superisc

+0

更新了我的回答,以解決您剛剛提出的問題。 – nyedidikeke

0

您有像save_post或pending_to_publish這樣的différenthook,您可以在其中設置或更改「post_name」(這對應於永久鏈接段落)。

0

將特定的單詞添加到WordPress自定義類型slug您必須註冊自定義重寫規則。 假設這是你的網址http://example.com/places/the-first-site! ,你有一個職位類型的地方。

function add_rewrite_rules() 
{ 
$wp_rewrite->add_rewrite_tag('%places%', '([^/]+)', 'places='); 
    $wp_rewrite->add_rewrite_tag('%state%', '([^/]+)', 'state='); 

$wp_rewrite->add_permastruct('places', 'places/visit-%state%-and-enjoy/', false); 
} 
    function permalinks($permalink, $post, $leavename) 
    { 
    $no_data = 'no-data'; 
    $post_id = $post->ID; 
if($post->post_type != 'story' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft'))) 
    return $permalink; 
    $state = get_post_meta($post_id, 'location', true); 
if(!$state) 

    $state = $no_data; 

     $permalink = str_replace('%state%', $state, $permalink); 
    return $permalink; 
    } 
    add_action('init', 'add_rewrite_rules'); 
    add_filter('post_type_link', 'permalinks', 10, 3); 

將此代碼放入您的自定義帖子類型插件中。如果沒有找到頁面錯誤,請更改您的固定鏈接設置。或者製作一個自定義模板文件來顯示這個帖子。