2
我一直在爲此奮鬥了幾天,而且我似乎沒有接近解決方案。我一直在尋找論壇和教程網站,但最終變得更加困惑,因爲似乎有很多方法和變化來實現我所期待的。通過分類術語來過濾WordPress自定義文章類型
我想要做的是創建一個自定義帖子類型存檔,可以通過基於url字符串的分類術語進行過濾。
_domain/products/_
_domain/products/taxonomy-term/_
_domain/products/taxonomy-term/product-1_
所以分類項將只顯示該類型的自定義信息。
我已經得到了這個。這似乎適用於域名/ products/taxonomy_term/product_1,但沒有選擇任何檔案模板。
// define custom post types
add_action('init', 'create_products');
function create_products() {
register_post_type('products',
array(
'labels' => array(
'name' => __('Products'),
'singular_name' => __('Product')
),
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'excerpt', 'thumbnail', 'revisions'),
'rewrite' => array('slug' => 'products/%product_cat%', 'with_front' => true),
'hierarchical' => true,
'query_var' => true,
'show_in_nav_menus' => true,
'menu_position' => 5
)
);
}
add_action('init', 'create_my_taxonomies', 0);
function create_my_taxonomies() {
register_taxonomy(
'product_cat',
'products',
array(
'labels' => array(
'name' => 'Product Categories',
'add_new_item' => 'Add New Product',
'new_item_name' => "New Product Category"
),
'show_ui' => true,
'show_tagcloud' => false,
'hierarchical' => true,
'rewrite' => array('slug' => 'products', 'with_front' => true),
'query_var' => true,
)
);
}
function filter_post_type_link($link, $post)
{
if ($post->post_type != 'product_listing')
return $link;
if ($cats = get_the_terms($post->ID, 'product_cat'))
$link = str_replace('%product_cat%', array_pop($cats)->slug, $link);
return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);
你有沒有得到這個地方,有同樣的問題? – Tofuwarrior
我有確切的問題。你有沒有解決這個問題? –
也許這將有助於:http://wordpress.stackexchange.com/questions/49141/rewriting-a-custom-post-type-permalink-with-taxonomy-term –