Title: 関数the_terms()の出力位置が希望通りにならない
Last modified: 2021年2月22日

---

# 関数the_terms()の出力位置が希望通りにならない

 *  解決済 [no23h](https://ja.wordpress.org/support/users/no23h/)
 * (@no23h)
 * [5年、 8ヶ月前](https://ja.wordpress.org/support/topic/%e9%96%a2%e6%95%b0the_terms%e3%81%ae%e5%87%ba%e5%8a%9b%e4%bd%8d%e7%bd%ae%e3%81%8c%e5%b8%8c%e6%9c%9b%e9%80%9a%e3%82%8a%e3%81%ab%e3%81%aa%e3%82%89%e3%81%aa%e3%81%84-2/)
 * functions.phpにカスタム投稿のリストを出力させるショートコードを作成しました。
 *     ```
       function shortcode_post_list($atts) {
         extract(shortcode_atts(array(
           // パラメータ (引数の指定がなければ指定の値が格納される)
           'num' => '-1',
           'post_type' => 'post',
   
         ), $atts));
         global $post;
         $args = array(
           'posts_per_page' => $num,
           'post_type'      => $post_type,
           'order'          => 'DESC',
           'post_status'    => 'publish'
         );
         $posts_array = get_posts($args);
         $html = '<ul class="news_list_box flex_container">';
         foreach($posts_array as $post):
           setup_postdata($post);
           $html .= '<li class="box">';
           $html .= '<a href="'.get_permalink().'">';
   
           if (has_post_thumbnail()) :
             $html .= '<div class="back_img  box_5x3" style="background-image: url('.wp_get_attachment_url( get_post_thumbnail_id() ).')"></div>';
           else :
             $html .= '<div class="back_img  box_5x3" style="background-image: url('.get_theme_file_uri().'/img/eyecatch_default.jpg)"></div>';
           endif;
           $html .= '</a>';
           $html .= '<p>';
           $html .= '<span class="date">'.get_the_date().'</span>';
           $html .= '<span class="category">'.the_terms(get_the_ID(),'news_cat').'</span>';
           $html .= '</p>';
           $html .= '<h3><a href="'.get_permalink().'">'.get_the_title().'</a></h3>';
           $html .= '</li>';
   
         endforeach;
         $html.='</ul>';
         wp_reset_postdata();
         return $html;
       }
       add_shortcode('post_list', 'shortcode_post_list');
       ```
   
 * これを、プラグイン「Elementor」のショートコードウィジェットで出力したところ、
   
   以下のように、the_terms()の出力位置が
    - タグ外になってしまいます。
    - [出力結果]
    -     ```
          <div class="elementor-widget-container">
      
          　※タームがこの位置に出力されてしまう
            <a href="https://www.research.oit.ac.jp/crssc/news_cat/news-cat-1/" rel="tag">ニュースカテゴリ1</a><a href="https://www.research.oit.ac.jp/crssc/news_cat/news-cat-2/" rel="tag">ニュースカテゴリ2</a>
      
            <div class="elementor-shortcode">
                <ul class="news_list_box flex_container">
                    <li class="box"><a href="https://www.research.oit.ac.jp/crssc/news/news-5465/">
                            <div class="back_img  box_5x3" style="background-image: url(https://www.research.oit.ac.jp/crssc/wp-content/uploads/2020/12/news_dammy_06.jpg)"></div>
                        </a>
                        <p><span class="date">2021年1月8日</span><span class="category"></span></p>
                        <h3><a href="https://www.research.oit.ac.jp/crssc/news/news-5465/">ニュースサンプル14</a></h3>
                    </li>
                    <li class="box"><a href="https://www.research.oit.ac.jp/crssc/news/news-5464/">
                            <div class="back_img  box_5x3" style="background-image: url(https://www.research.oit.ac.jp/crssc/wp-content/uploads/2020/12/news_dammy_05.jpg)"></div>
                        </a>
                        <p><span class="date">2021年1月8日</span><span class="category"></span></p>
                        <h3><a href="https://www.research.oit.ac.jp/crssc/news/news-5464/">ニュースサンプル13</a></h3>
                    </li>
                </ul>
            </div>
          </div>
          ```
      
    - テンプレートタグに直接ショートコードを書き込んでも同様の出力結果になります。
      `
      <?php echo do_shortcode('[post_list post_type = "news" num = "2" ]'); ?>`
    - [出力結果]
    -     ```
          <a href="https://www.research.oit.ac.jp/crssc/news_cat/news-cat-1/" rel="tag">ニュースカテゴリ1</a>><a href="https://www.research.oit.ac.jp/crssc/news_cat/news-cat-2/" rel="tag">ニュースカテゴリ2</a>
          <ul class="news_list_box flex_container">
              <li class="box"><a href="https://www.research.oit.ac.jp/crssc/news/news-5465/">
                      <div class="back_img  box_5x3" style="background-image: url(https://www.research.oit.ac.jp/crssc/wp-content/uploads/2020/12/news_dammy_06.jpg)"></div>
                  </a>
                  <p><span class="date">2021年1月8日</span><span class="category"></span></p>
                  <h3><a href="https://www.research.oit.ac.jp/crssc/news/news-5465/">ニュースサンプル14</a></h3>
              </li>
              <li class="box"><a href="https://www.research.oit.ac.jp/crssc/news/news-5464/">
                      <div class="back_img  box_5x3" style="background-image: url(https://www.research.oit.ac.jp/crssc/wp-content/uploads/2020/12/news_dammy_05.jpg)"></div>
                  </a>
                  <p><span class="date">2021年1月8日</span><span class="category"></span></p>
                  <h3><a href="https://www.research.oit.ac.jp/crssc/news/news-5464/">ニュースサンプル13</a></h3>
              </li>
          </ul>
          ```
      
    - 原因は何でしょうか？
       お詳しい方、ご教授いただけますと幸いです。 宜しくお願い
      致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)

 *  [Aoba Momouchi](https://ja.wordpress.org/support/users/aoixtreme/)
 * (@aoixtreme)
 * [5年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e9%96%a2%e6%95%b0the_terms%e3%81%ae%e5%87%ba%e5%8a%9b%e4%bd%8d%e7%bd%ae%e3%81%8c%e5%b8%8c%e6%9c%9b%e9%80%9a%e3%82%8a%e3%81%ab%e3%81%aa%e3%82%89%e3%81%aa%e3%81%84-2/#post-11669910)
 * the_terms()の中を確認しますと、
 *     ```
       echo apply_filters( 'the_terms', $term_list, $taxonomy, $before, $sep, $after );
       ```
   
 * となっていますので、ここで文字列が出力されていると思われます。
 * 代わりにget_the_terms()あたりをうまく使ってみてはどうでしょうか。
 *  トピック投稿者 [no23h](https://ja.wordpress.org/support/users/no23h/)
 * (@no23h)
 * [5年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e9%96%a2%e6%95%b0the_terms%e3%81%ae%e5%87%ba%e5%8a%9b%e4%bd%8d%e7%bd%ae%e3%81%8c%e5%b8%8c%e6%9c%9b%e9%80%9a%e3%82%8a%e3%81%ab%e3%81%aa%e3%82%89%e3%81%aa%e3%81%84-2/#post-11669959)
 * [@aoixtreme](https://ja.wordpress.org/support/users/aoixtreme/) 様
 * get_the_terms()で希望通りに出力できました。
    有難うございます！

2件の返信を表示中 - 1 - 2件目 (全2件中)

 トピック「関数the_terms()の出力位置が希望通りにならない」には新たに返信すること
はできません。

 * フォーラム: [使い方全般](https://ja.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 2件の返信
 * 2人の参加者
 * 最後の返信者: [no23h](https://ja.wordpress.org/support/users/no23h/)
 * 最後の活動: [5年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e9%96%a2%e6%95%b0the_terms%e3%81%ae%e5%87%ba%e5%8a%9b%e4%bd%8d%e7%bd%ae%e3%81%8c%e5%b8%8c%e6%9c%9b%e9%80%9a%e3%82%8a%e3%81%ab%e3%81%aa%e3%82%89%e3%81%aa%e3%81%84-2/#post-11669959)
 * 状態: 解決済

## トピック

### 人気のトピック

### 返信がないトピック

### サポート関連ではないトピック

### 解決済みのトピック

### 未解決のトピック

### すべてのトピック
