作品タイプに紐づいた作品タグを一覧出力したい

創作・同人サイトに特化した多機能WordPressテーマ フォーラム カスタマイズに関する質問 作品タイプに紐づいた作品タグを一覧出力したい

  • このトピックには3件の返信、1人の参加者があり、最後に藤崎により2ヶ月、 2週前に更新されました。
3件の返信スレッドを表示中
  • 投稿者
    投稿
    • #1211
      藤崎
      ゲスト

      いつもお世話になっております。
      本日はカスタマイズについての質問があり、こちらに書き込ませていただきました。

      (まだテストの段階なので、ウェブサイトはテストサイトを載せさせていただきました。ご参考ください。)

      やりたいこと:
      作品タイプ「Note」に紐づいた作品タグ一覧を、Noteのアーカイブページで出力したい

      自分で調べたところ、タクソノミーのタームが「custom_cat」と「custom_tag」でそれぞれは紐づいているわけではないのかな、と思いました。

      custom_cat = Note のもつ custom_tag を一覧表示するにはどうすればいいでしょうか。

      <?php
      $tms = get_terms(‘custom_tag’);
      foreach ($tms as $tm) {
      if ($tm->name === ‘update’ || $tm->name ===’open’ || $tm->name === ‘notice’ || $tm->name === ‘sozai’ || $tm->name === ‘enquête’ ) {
      echo ‘‘.esc_html($tm->name).’‘;
      }
      }
      ?>

      こうすることで、一応は思う通りの表示はできたのですが、タームを増やせば手動で書き込まなくてはならず、大変です。

      if (custom_cat が note のとき) {
      その custom_tag 一覧を出力するコード
      }

      みたいにしたいと考えています。

      自分でいろいろと調べてみたのですが、めぼしい情報を得られずに困っています。

      開発などでお忙しいかとは思いますが、何卒、ご助力いただけないでしょうか。どうぞよろしくお願いいたします。

      藤崎

    • #1215
      gtgt
      キーマスター

      EASELのご利用ありがとうございます。

      if ($tm->name === ‘update’ || $tm->name ===’open’ || $tm->name === ‘notice’ || $tm->name === ‘sozai’ || $tm->name === ‘enquête’ ) {
      }
      の条件分岐はなくても動作するのではないかと思いますが、いかがでしょうか?

      回答まで日が空いてしまい恐縮ですが、何か参考になれば幸いです。

    • #1216
      藤崎
      ゲスト

      お返事ありがとうございます。

      原因はループ外に記述していたことのようで、ループの中に

      <?php $terms = get_the_terms($post->ID, ‘custom_tag’);
      foreach ($terms as $term) {
      echo ‘name) . ‘”>’ . esc_html($term->name) . ‘‘;
      } ?>

      としたところ、無事条件分岐なしで出力できました。

      ヒントをありがとうございました。

       

    • #1217
      藤崎
      ゲスト

      度々すみません。上記の方法では上手くいかなかったので、タームの説明に共通のテキストを用いることでできました。

      <?php $taxonomies = array(
      ‘custom_tag’,
      );
      $args = array(
      ‘taxonomy’ => $taxonomies,
      ‘hide_empty’ => false,
      ‘description__like’ => ‘note’,
      );
      $terms = get_terms($args);
      foreach ($terms as $term) {
      echo ‘name) . ‘”>’ . esc_html($term->name) . ‘‘;
      } ?>

      どなたかの参考になれば。

3件の返信スレッドを表示中
  • フォーラム「カスタマイズに関する質問」には新規投稿および返信を追加できません。