这可能会引出其他问题,但我也在发帖,因为我找不到一个对我有用的结论性答案。
What you need to know
我有一个自定义的帖子类型(产品),还有一个自定义的分类法(集合)。我的收藏分类法是分层的。例如,我有一个父集合(浴室),其中将有大量子集合。
What i\'m trying to do
我正在尝试为我的产品获取永久链接,例如,包括父集合和子集合
http://<domain>/products/bathroom/collection-1/postname
What i\'ve tried
基本上,我在注册CPT和分类法时一直在使用rewrite参数,以及“post\\u type\\u link”挂钩。
我设法使它部分工作,也就是说,通过在永久链接中只显示父集合。
非常感谢您的帮助。
此外,我的永久链接结构是:/%类别%/%postname%/
Some of my code
注册CPT/分类 register_taxonomy( \'collection\', array( ), array(
\'label\' => \'collections\',
\'public\' => TRUE,
\'show_ui\' => TRUE,
\'hierarchical\' => TRUE,
\'query_var\' => \'collections\',
\'rewrite\' => TRUE
));
register_post_type( \'product\', array(
\'label\' => \'products\',
\'public\' => TRUE,
\'publicly_queryable\' => TRUE,
\'show_ui\' => TRUE,
\'show_in_menu\' => TRUE,
\'taxonomies\' => array( \'collection\' ),
\'supports\' => array( \'title\', \'editor\', \'author\', \'custom-fields\' ),
\'rewrite\' => array( \'slug\' => \'products/%collection%\', \'with_front\' => false, \'hierarchical\' => true )
));
flush_rewrite_rules();
立柱式链钩
if( strpos( $permalink, \'%collection%\' ) === FALSE )
return $permalink;
$terms = wp_get_object_terms( $post->ID, \'collection\' );
$tax_slug = "";
if( empty( $terms[0]->parent ) )
{
$tax_slug = $terms[0]->slug;// . "/" . $terms[1]-> slug;
//Second part 404\'s my permalinks, so commented out
}
else
{
$tax_slug = $terms[1]->slug;// . "/" . $terms[0]-> slug;
//Second part 404\'s my permalinks, so commented out
}
$permalink = str_replace( \'%collection%\', $tax_slug, $permalink );
return $permalink;