我有3個自定義帖子類型設置,我已經創建了每個自定義的永久鏈接結構。我遇到的問題是,第三個自定義文章類型我與自定義固定鏈接設置,被用於之前的2WordPress的自定義帖子類型和自定義永久鏈接結構錯誤
例子:
- 分類
- 就業
- 贊助
以上是帖子類型,我將自定義的固定鏈接結構設置爲(對於每個): /post_type/post_id/
現在,上面的順序是他們設置的順序和贊助承擔所有這些。因此,例如:
/classified/100/
/employment/101/
/sponsorship/102/
以上都使用固定鏈接:
/sponsorship/100/
/sponsorship/101/
/sponsorship/102/
我在做什麼錯得到這個錯誤發生?這是一個永久鏈接結構錯誤嗎?下面是我用來爲每個創建自定義永久鏈接結構的代碼。唯一的區別是,%c_id%更改爲%e_id%和%s_id%的分類廣告,僱傭和贊助。此外,對「分類廣告」的引用分別改爲就業和贊助。
add_action('init', 'classifieds_rewrite');
function classifieds_rewrite() {
global $wp_rewrite;
$queryarg = 'post_type=classifieds&p=';
$wp_rewrite->add_rewrite_tag('%c_id%', '([^/]+)', $queryarg);
$wp_rewrite->add_permastruct('classifieds', '/classifieds/%c_id%/', false);
}
add_filter('post_type_link', 'classifieds_permalink', 1, 3);
function classifieds_permalink($post_link, $id = 0) {
global $wp_rewrite;
$post = &get_post($id);
if (is_wp_error($post))
return $post;
$newlink = $wp_rewrite->get_extra_permastruct('classifieds');
$newlink = str_replace("%c_id%", $post->ID, $newlink);
$newlink = home_url(user_trailingslashit($newlink));
return $newlink;
}
感謝您的幫助! :)
我有: ' '改寫'=> TRUE' ?? – fatwombat 2011-03-25 13:27:53
如果你使用''rewrite'=> array('slug'=>'YourSlug','with_front'=> true)'它會用你指定的slug重寫你的帖子的固定鏈接。例如,如果您爲您的分類文章添加''rewrite'=> array('slug'=>'classified','with_front'=> true)',您的鏈接將被重寫爲www.yoursite.com/classified/your -post-title取決於您在WP管理員中設置的額外永久鏈接結構。 – ckaufman 2011-03-25 13:42:14
是的,但我需要使用URL的第二部分的post_id。所以它需要/分類/ 124 /而不是/分類/ the-title-here/ 默認情況下有什麼辦法嗎?因爲我希望網站上的其他網頁能夠/ about /和/ contact/etc ...? – fatwombat 2011-03-25 14:02:45