web-dev-qa-db-ja.com

ループ内でカスタム分類IDを取得する

"test_values"というカスタム投稿タイプをループ処理するために使用しているカスタム分類法のIDを取得する方法がわかりません。

function prefix_load_term_posts () {
    $term_slug = $_POST[ 'term' ];
    $args = array (
             'post_type' => 'test_values',
             'posts_per_page' => 1,
             'tax_query' => array(
              array(
                    'taxonomy' => 'test_value_category',
                    'field'    => 'slug',
                    'terms'    => $term_slug ,
               ),

              ),
         );

    global $post;

    $myposts = get_posts( $args );
    ob_start ();

    foreach( $myposts as $post ) : setup_postdata($post); ?>

    <?php endforeach; ?>

ループ内でこの分類IDを取得する方法について何か提案がありますか?

2
bhood

あなたはこの関数を試すことができますget_term_by($field, $value, $taxonomy, $output, $filter )または

$termID = [];
$terms = get_the_terms($post->ID, 'taxonomy');
foreach ($terms as $term) {
    $termID[] = $term->term_id;
}

またはget_queried_object_id()

3
Shefali

私は答えを見つけました、私が持っていたものは複雑な方法でした。これがうまくいったことになったものです:

<?php $terms = get_the_terms( $post->ID, 'newsroom_post_category' ); 
                foreach($terms as $term) {
                    $termlinks = get_term_link($term);
                        echo '<p class="post-content--cat">';
                            echo '<a href="' . $termlinks . '">' . $term->name . '</a>';  
                        echo '</p>'; }?>

これで、カスタム投稿に属するすべての分類用語が得られました。

1
Chris Gatherer