サポート » 使い方全般 » add_query_arg タクソノミータグでの絞り込み

  • 解決済 chibiyuko_0124

    (@chibiyuko_0124)


    いつもお世話になっております。

    add_query_argを使って、カスタムタクソノミーのタグの記事を絞り込みを行いたいと思っております。
    その際、下記の2つを実現したいのですが、苦戦しております。

    ①get_the_termsを使って「現在のターム」を指定したい

    ★現在のソース

    <?php $terms = get_the_terms($post->ID, 'タクソノミー'); foreach ($terms as $term) : ?>
    <li class="tag"><a href="<?php echo add_query_arg(array('tag_jinzai-bank'=>$terms)); ?>"><?php echo $term->name; ?><?php endforeach; ?></a></li>

    ★現状
    ターム名は表示されるものの、URLがとてつもなく長文になってしまっております。

    ②get_the_term_listを使って①を選択されたタグの数だけ表示させたい

    ★現在のソース(やりたいこと)
    <?php echo  get_the_term_list_nolink( $post->ID, 'タクソノミー','この中に①を入れたいです'); ?>

    ご存知の方がいらっしゃればご教授いただけますと幸いです。

    よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック投稿者 chibiyuko_0124

    (@chibiyuko_0124)

    投稿して早々に申し訳ございません。
    ①は自力で解決しました。

    <?php $terms = get_the_terms($post->ID, 'タクソノミー'); ?>
    <?php foreach ( $terms as $term ) : ?>
    <li><a href="<?php echo add_query_arg(array('タクソノミー'=>$term->slug)); ?>"><?php echo $term->name; ?></a></li>
    <?php endforeach; ?>

    上記を②に反映させるところで止まっております。
    アドバイスをいただけたら幸いです。

    よろしくお願いいたします。

    トピック投稿者 chibiyuko_0124

    (@chibiyuko_0124)

    上記①をfunctions.php内に書き込むことで成功しました。

    function get_the_term_list_XX( $id, $taxonomy, $before = '', $sep = '', $after = '' ) {
    $terms = get_the_terms( $id, 'タクソノミー' );
    if ( is_wp_error( $terms ) )
    return $terms;
    if ( empty( $terms ) )
    return false;
    foreach ( $terms as $term ) {
    $link = add_query_arg(array('タクソノミー'=>$term->slug));
    if ( is_wp_error( $link ) )
    return $link;
    $term_links[] = '<a href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>';
    }
    $term_links = apply_filters( "term_links-$taxonomy", $term_links );
    return $before . join( $sep, $term_links ) . $after;
    }

    phpには下記のように記述しました。

    <?php echo  get_the_term_list_XXX( $post->ID, '<li>','</li>','<li>','</li>'); ?>

    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「add_query_arg タクソノミータグでの絞り込み」には新たに返信することはできません。