![](/img/trans.png)
[英]Custom Taxonomies for custom post type not showing up in Wordpress Admin column
[英]Setting up a store-like url structure in Wordpress with custom taxonomies and terms for a custom post type
抽象
我的任务是弄清楚如何使用Wordpress Rewrite API创建可过滤products
自定义帖子类型的帖子的URL结构。 当通过URL结构传递分类法术语时,Wordpress会本地过滤products
并将结果返回给archive-products.php
模板。
taxonomies
及其products
terms
的示例数据集
解决方案
系列
产业领域
科技类
所需网址的示例
products/solutions/broadband,enterprise/series/express/industries/business,education
products/industries/tech/internet/solutions/broadband,express
products/solutions/broadband
上面只是一个结构的构想,其他任何事物都不受欢迎。
问题
由于我缺乏正则表达式技能,因此不确定是否可行。 朝正确方向的任何观点将不胜感激。
通过下面的代码。 可能会对您有帮助。
function generate_taxonomy_rewrite_rules( $wp_rewrite ) {
$rules = array();
$post_types = get_post_types( array( 'name' => 'products', 'public' => true, '_builtin' => false ), 'objects' );
$taxonomies = get_taxonomies( array( 'name' => 'Solutions', 'public' => true, '_builtin' => false ), 'objects' );
foreach ( $post_types as $post_type ) {
$post_type_name = $post_type->name; // 'product'
$post_type_slug = $post_type->rewrite['slug']; // 'products'
foreach ( $taxonomies as $taxonomy ) {
if ( $taxonomy->object_type[0] == $post_type_name ) {
$terms = get_categories( array( 'type' => $post_type_name, 'taxonomy' => $taxonomy->name, 'hide_empty' => 0 ) );
foreach ( $terms as $term ) {
$rules[$post_type_slug . '/' . $term->slug . '/?$'] = 'index.php?' . $term->taxonomy . '=' . $term->slug;
}
}
}
}
$wp_rewrite->rules = $rules + $wp_rewrite->rules;
}
add_action('generate_rewrite_rules', 'generate_taxonomy_rewrite_rules');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.