子代和孙代分类列表-404

时间:2012-06-13 作者:Diana

我有以下结构:

酒店(定制柱式)

大陆(分类学)

工作实际链接导致单个帖子的示例:酒店/欧洲/法国/a酒店*酒店/欧洲/意大利/佛罗伦萨/a酒店*

问题:尝试访问孩子和孙子列表时获取404:

欧洲酒店works!404404不确定是否缺少某些内容,是否应该为这些访问点使用页面模板?

代码很难运行,感谢这里的示例:http://pastebin.com/WYJLYjHM

谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:Diana 整理而成

通过添加过滤器和构建永久链接来解决此问题。首先,忘记pastebin代码,只需创建一个post类型和所需的TaxO,然后添加过滤器:

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\');
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);
}
在帖子类型创建中使用:

\'rewrite\' => array( \'slug\' => \'anything-you-want/%territorio%\',\'with_front\' => false),
注意:如果您想要更深入的链接,您的构建应该更深入:

$taxonomy_slug = $terms[0]->slug.\'/\'.$terms[1]->slug.\'/\'.$terms[2]->slug;

结束

相关推荐