使用子分类术语的自定义固定链接

时间:2012-01-23 作者:Shane

这可能会引出其他问题,但我也在发帖,因为我找不到一个对我有用的结论性答案。

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;

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

我可以回答你的问题!我自己也有同样的问题,今天就解决了,所以我知道你需要做什么。

我给very detailed instructions and code 在我自己的问题帖子上,那么去看看那里,看看它是否为你解决了问题。如果你有更多问题,请告诉我进展如何。

结束

相关推荐

Permalinks for quote authors

What I have:引用的网站,格式为:“引用文本”-引用作者参见quotup.com 对于我的考试网站(我为考试中的亵渎行为提前道歉)。What I\'m after:单击“-Quote Author”将启动一个包含该Quote Author所有引用的页面,URL为:示例。史蒂夫·史蒂文森,其中史蒂夫·史蒂文森是引文作者。What I\'ve done:创建了一个名为wp\\u qauthor的自定义表,该表通过post\\u meta(qauthor\\u id)绑定到wp\\u posts向函数