我花了大量的時間試圖找到這個問題的解決方案,閱讀了很多文章,並從stackoverflow和其他地方嘗試了很多'修復',都沒有成功。WordPress的自定義固定鏈接自定義帖子類型的結構
我正在嘗試爲Wordpress(版本4.5.3)中創建的自定義帖子類型創建永久鏈接結構。帖子類型被稱爲「視頻」。默認情況下,我的固定鏈接看起來像'http://localhost.wordpress/videos/my-video-post'。我想將鏈接中的「視頻」替換爲帖子的類別名稱,即 'http://localhost.wordpress/computer-lessons/my-video-post',其中類別是「計算機課程」。我已經能夠使用下面的代碼創建工作永久鏈接,例如'http://localhost.wordpress/categories/computer-lessons/my-video-post',但我想擺脫鏈接中的'/ categories /'部分。我目前正在使用的代碼是
add_action('init', 'video_post_type');
function video_post_type() {
register_post_type('video', array(
'labels' => array(
'name' => 'Videos',
'singular_name' => 'Video',
),
'rewrite' => array('slug' => 'categories/%category%'),
'taxonomies' => array('post_tag', 'category'),
'description' => 'Video resources.',
'public' => true,
'menu_position' => 20,
'supports' => array('title', 'editor', 'custom-fields')
));
}
function videos_post_link($post_link, $id = 0){
$post = get_post($id);
if (is_object($post)){
$terms = wp_get_object_terms($post->ID, 'category');
if($terms){
return str_replace('%category%' , $terms[0]->slug , $post_link);
}
}
return $post_link;
}
add_filter('post_type_link', 'videos_post_link', 1, 3);
我已經試過這段代碼的很多很多的變化,但每當我得到我要找的永久鏈接結構給出了404
我開始覺得這可能是不可能的,因爲我已經閱讀了許多與此相關的文章和帖子,並且沒有找到可行的解決方案。
非常感謝提前。
感謝您的回覆mattkrupnik。不幸的是,我無法檢查您的解決方案,因爲我已經完成了我正在開發的項目,並且無法再訪問代碼,但是如果/當我再次遇到此問題時,我一定會嘗試您的解決方案。 –