一个分类术语属于哪个职位?

时间:2012-01-25 作者:Mestika

我有一个页面,其中显示了从URL获取的特定类型的所有自定义分类术语。我使用此代码检索所有术语:

$args = array(
\'post_type\' => \'mycustomposttype\',
\'programtype\' => ’my-custom-taxonomy-term
);
$programtype = new WP_Query($args);
while ( $programtype->have_posts() ) : $programtype->the_post();
$terms = get_the_terms( $post->ID, \'my-custom-taxonomy );
这一切都很好,但我想在按下每个术语时生成一个链接,以重定向回它所属的原始自定义帖子。

让我举一个例子:ID为19的自定义post类型“Programblock”附带了三个自定义分类术语,称为“事件”。上面提到的页面上列出了这三个术语,但我想创建一个链接,将它们带回以post ID为hashtag的自定义post类型页面“Programblock”,如下所示:http://www.my-domain.com/programblock#19

我怎样才能扭转这种局面,而不是问“这个帖子有哪些术语”,我想问,“这个术语属于哪个帖子”。

我希望我已经解释清楚了,否则请问。

真诚的梅斯蒂卡

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

您可以使用term\\u link filter来完成。大致如下:

function my_term_link($termlink, $term, $taxonomy) {
   global $post;
   if ($taxonomy == \'my-custom-taxonomy\') {
      return get_permalink( $post->ID ) . \'#\' . $term->term_id;
   }
}

while ( $programtype->have_posts() ) : $programtype->the_post();
   $terms = get_the_terms( $post->ID, \'my-custom-taxonomy\' );
   add_filter(\'term_link\', \'my_term_link\', 10, 3);
   foreach ($terms as $term) {
      $link = get_term_link( $term, \'my-custom-taxonomy\' );
      // Use link here
   }
   remove_filter(\'term_link\', \'my_term_link\', 10, 3);
endwhile;

结束

相关推荐

simply loop through posts

我知道这是一个真正的新手问题,但我似乎无法从帖子中获得循环。它所做的只是从页面本身中提取。我制作了一个模板并添加了循环。<?php if( have_posts() ) { while( have_posts() ) { the_post(); ?> <h2><?php the_title(); ?></h2> <?php } } ?>