Получить идентификатор родительского таксономического термина на странице шаблона дочерней таксономии в WordPress CPT - PullRequest
0 голосов
/ 24 января 2020

У меня есть пользовательский тип записи с таксономическим «разделом», и у меня есть страница шаблона с запросом l oop для отображения списка категорий с миниатюрами. Я только хочу показать дочерние категории текущей родительской таксономии и хочу быть умелым, чтобы получить идентификатор родительской категории, когда на дочерней странице.

В настоящее время я установил родительский как идентификатор 40 в моем коде но нужно, чтобы это было Dynami c. Как бы динамически изменить 40 на текущий родительский идентификатор?

Это код, который я имею на моей странице шаблона таксономии.

<?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 Ответ

0 голосов
/ 24 января 2020

Как я понимаю, вы хотите отобразить дочерние термины текущей родительской таксономии на странице родительской таксономии. Так что используйте этот код для достижения вашей функциональности ..

<?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>";

?>
...