您必须使用过滤器建立链接结构post_link
和post_type_link
:
add_filter(\'post_link\', \'territorio_permalink\', 10, 3);
add_filter(\'post_type_link\', \'territorio_permalink\', 10, 3);
function territorio_permalink($permalink, $post_id, $leavename) {
if (strpos($permalink, \'%territorio%\') === FALSE) return $permalink;
// Get post
$post = get_post($post_id);
if (!$post) return $permalink;
// Get taxonomy terms
$terms = wp_get_object_terms($post->ID, \'territorio\',\'orderby=term_order\');
if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
$taxonomy_slug = $terms[0]->slug.\'/\'.$terms[1]->slug; //build here
else $taxonomy_slug = \'not-yet\';
return str_replace(\'%territorio%\', $taxonomy_slug, $permalink);
}
在哪里
hotel
是职位类型和
territorio
是一种层次分类法。
在帖子类型创建中使用:
\'rewrite\' => array( \'slug\' => \'anything-you-want/%territorio%\',\'with_front\' => false),
注意:如果您想要更深入的链接,您的构建应该更深入:
$taxonomy_slug = $terms[0]->slug.\'/\'.$terms[1]->slug.\'/\'.$terms[2]->slug;