为了账号安全,请及时绑定邮箱和手机立即绑定

在 wordpress cpt 中的子分类模板页面上获取父分类术语 ID

在 wordpress cpt 中的子分类模板页面上获取父分类术语 ID

PHP
犯罪嫌疑人X 2022-08-19 15:26:09
我有一个带有分类“部分”的自定义帖子类型,我有一个带有查询循环的模板页面,用于显示带有缩略图的类别列表。我只想显示当前父分类的子类别,并希望在子页面上能够很好地获取父类别的ID。我目前已在我的代码中将父项设置为id 40,但需要它是动态的。如何将 40 动态更改为当前父 ID?这是我在分类模板页面中的代码。<?php      $terms  = get_terms( [          'taxonomy'      => 'section',          'parent'        => 40,          'hide_empty'    => true,          'relationship'  => [              'id' => 'categories_to_posts',              'to' => get_the_ID(), // You can pass object ID or full object          ],      ] );      if ( $terms && ! is_wp_error( $terms ) ) {      foreach ( $terms as $term ) {        $term_link = get_term_link( $term->term_id );        $term_name = $term->name;        $url = get_term_meta( $term->term_id, 'kte_sec_thumbnail_image', true );          echo '<img src="' . esc_url( $url ) . '">';           $term = get_term_by( 'id', $child, $taxonomy_name );           echo '<a href="' . esc_url( $term_link ) . '">' . $term_name . '</a>';  }  }
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

据我所知,您希望在父分类页面上显示当前父分类的子术语。因此,请使用此代码来实现您的功能。


<?php 

$term123 = get_queried_object();

$slug=$term123->slug;

$parent_id  =$term123->parent;

$child_id=$term123->term_id;



$taxonomy_name ='section';

$termchildren  = get_term_children(  $child_id, $taxonomy_name  );

echo "<ul>";

foreach ( $termchildren as $child ) {

    $term = get_term_by( 'id', $child, $taxonomy_name );

?>

  <?php if ($term->parent == $child_id) { ?>


    <li><a href="<?php echo get_term_link($term->term_id); ?>"><?php echo $term->name; ?></a></li>

  <?php } 


  ?>


<?php } 

echo "</ul>";


?>


查看完整回答
反对 回复 2022-08-19
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信