WordPressテーマで投稿後に表示されるタグの数を制限する方法

最近、WordPressテーマで各投稿の後に表示されるタグの数を制限する方法について質問を受けました。通常、投稿が属するタグへのリンクを表示するには `the_tags()` 関数を使用します。しかし、この関数には表示されるタグの数を制限するパラメータがありません。そのため、投稿に12個のタグがあり、テーマに5個しかスペースがない場合、デザイン上あまり見栄えがしない可能性があります。多くの人はタグの使用を制限したり、テンプレートに含めなかったりします。しかし、この記事では、各投稿に追加するタグの数を制限することなく、WordPressテーマで投稿後のタグの数を制限する方法を紹介します。

編集:この記事を書いた後、最も素晴らしいOtto(@otto42)が私のGoogle+アカウントで、これを達成するためのより簡単な方法があることを知らせてくれました。

まず、テーマのfunctions.phpファイルを開き、この関数を追加する必要があります。

add_filter('term_links-post_tag','limit_to_five_tags');
function limit_to_five_tags($terms) {
return array_slice($terms,0,5,true);
}

5 の数字を希望する最大数に変更できます。

次に、loop.php、single.php、index.php、またはこれらの投稿タグを追加したい場所(投稿ループ内である必要があります)を開き、次のコードを貼り付けます。

<?php the_tags() ?>

これは間違いなく、私が考え出したものよりもはるかに簡単です。興味のある方はこの記事に残しておきます。

古い複雑な方法

テーマファイル(投稿ループ内)に以下のコードを貼り付けるだけです。

<?php
$posttags = get_the_tags();
$count=0; $sep='';
if ($posttags) {
	echo 'Tags: ';
	foreach($posttags as $tag) {
		$count++;
		echo $sep . '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a>';
$sep = ', ';
		if( $count > 5 ) break; //change the number to adjust the count
	}
}
?>

上記のコードは、テーマに6つのタグを表示します。タグを少なく表示したい場合や多く表示したい場合は、$count > 5 の行を希望の数値に調整するだけです。カウントの数値は5より大きいと表示されますが、6つのタグが表示されることに注意してください。これは、カウントが0から始まるためです。したがって、4つのタグのみを表示したい場合は、数値を3にする必要があります。

区切り文字を変更したい場合は、9行目を変更する必要があります。現在のコードではカンマで区切られます。div、リスト要素、またはその他の好きなものを追加して、スタイリングをカスタマイズすることもできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

19 CommentsLeave a Reply

  1. 拝啓

    サー、ウィジェットにランダムにタグを表示したいのですが、どうすればよいですか?function.php ファイルに追加できるコードを教えていただけますか?ランダムなタグとタグ数の制限を表示するようにします。

    ありがとう

  2. このコードスニペットはうまく機能します。

    ただし、1つの変更が必要です。各ブログ投稿に入力した最初の3つのタグのみを表示する必要があります。現在3つのタグが表示されており、これは良い進歩です。

    しかし、私のウェブサイトの目的とリサーチデータの提示方法のため、指定した順序で最初の3つが特に必要です。例えば:

    Jennifer Weaver, Case #4455883, New Mexico

    タグは次のように入力しています:名前、ケース番号、場所 — そして追加のタグもあります。しかし、エントリーメタに表示したいのは最初の3つだけです。

    これを行うための提案はありますか?共有されたコードは任意の順序を選択します。タグがこのように入力された場合—1、2、3、4、5—それは次のような独自の配置を選択します:

    5、4、1

    これについて何かお手伝いいただけると幸いです!!

  3. こんにちは。
    この投稿は非常に役立ちました。
    しかし、私は連絡先ページのような単一のページを作成しようとしています。そのページには、私の製品の1つに関する説明が含まれています。
    その説明のお気に入りのタグをページに追加するにはどうすればよいですか?
    言い換えれば、単一のページにお気に入りのタグを追加するにはどうすればよいですか?
    どうもありがとうございます。

  4. ランダムなタグを表示するにはどうすればよいですか?
    例:ブログの投稿に20個のタグがあり、
    タグ番号1、タグ番号6、タグ番号5を表示したいとします。
    別の投稿には20個以上のタグがあり、
    タグ番号7、17、3を表示したいとします。
    など

  5. こんにちは!

    「タグの使用を制限する」にはどうすればよいですか?投稿/商品ごとにタグは3つだけにしたいです。4つ選択した場合、その数は消去されます。

    ありがとうございます!

    • @Hector ご提案ありがとうございます。WordPressの投稿に最大タグ数を設定する方法について、新しい記事を公開しました。ぜひご覧いただき、お役に立てるかお知らせください。

      管理者

  6. こんにちは、この関数にif文を追加するにはどうすればよいですか?

    メインのブログページ(ID=99の静的ページ)に5つのタグを表示し、
    次に、シングル投稿ページですべてのタグを表示したいです。
    この機能を投稿カテゴリと連携させることは可能ですか?
    上記のように、メインページに5つのカテゴリと5つのタグを表示し、シングル投稿ページには全リストを表示したいです…
    私の英語はごめんなさい ;/

    • そのためには、テーマまたは子テーマのテンプレートファイルを編集する必要があります。タグについては、このコードを試すことができます:

      <?php
      $posttags = get_the_tags();
      $count=0;
      if ($posttags) {
      	$output = '';
      	foreach($posttags as $tag) {
      		$count++;
      		$output .= $tag->name . ' ';
      		if( $count >5 ) break;
      	}
      }
      echo $output;
      ?>
      

      管理者

  7. 素晴らしい情報です。別の問題の解決策を探してGoogle検索でこのサイトに来ました。タグページに、個々のタグページのヘッダーとしてタグ名を表示する必要があります。そのようなテーマはありますか?現在Diviテーマを使用していますが、その機能は利用できません。

  8. ラベルをランダムに印刷するにはどうすればよいですか?
    例:10個中5個にランダムに表示されるラベルが付いています

  9. 参考までに…これらの4行をfunctionsファイルに貼り付けたところ、サイト全体が真っ白になりました。パニック発作を起こしそうになりました。ホスティング会社が復旧してくれました。

  10. タグを使用して重複コンテンツ(パンダアップデート後)はどうなりますか?同じ記事が投稿ページとタグページに表示されます。

    また、WPフォーラムで、各投稿に過剰なタグ(10個以上)を使用することの悪影響について読みました。

    • @ata SEOのためにタグを使用すべきではありません。タグはサイトの使いやすさを向上させるためにWordPressに組み込まれています。必要であれば、1つの投稿に500個のタグを付けることができます。重要なのは、タグページをnoindexすることです。そうすれば、検索エンジンはそれらのページにアクセスし、すべてのリンクをたどりますが、それらのページはインデックスしません。これでSEOの問題は解決します。自分が何をしているのか全く分からない、自称SEO専門家が多すぎます。あなたが言及したような一般的な声明は、私たちが言っていることを守っている限り、完全に間違っています。

      • 実際、タグは一部のサイトのトラフィックを増やします。Googleで証明を見つけることができます。特に、投稿に関連付けられたロングテールキーワード。

        タグが「noindex」に設定されている場合、検索エンジンがタグリンクを見つけられるかどうかはわかりません。投稿のURLはわかっても、タグリンクは意味がないのでわからないでしょう。

        「一般的な声明」は全く声明ではありませんでした。私のコメントを読めば、それは問い合わせ/質問であり、私を噛み付く必要はありませんでした。

        • @ata まず、はっきりさせておきます。私はあなたに噛み付いているわけではありません。イライラしたのは、そのような一般的な主張をする専門家に対してです。WordPressは多くのインデックス作成方法を許可しています。ほとんどの人はカテゴリをアーカイブの主な方法として使用しています。重複コンテンツを防ぐために、インデックス可能なアーカイブ方法は1つしか使用できません。重複コンテンツを防ぐために、すべての二次的な方法はno-indexにする必要があります。

          アーカイブの主な方法としてカテゴリを使用しています。必要であれば、タグをアーカイブの主要なソースとして使用することもできます。ブログではカテゴリの方がパフォーマンスが良い傾向があります。タグをアーカイブの主要なソースとして使用したい場合は、カテゴリと日付ベースのアーカイブを no-index にしてください。サイトの唯一の著者である場合は、著者アーカイブも no-index にしても構いません。それらは重複コンテンツを生成するだけだからです。この記事では、これ以上 SEO の理論については議論しません。これはデザインのチュートリアルであり、SEO のチュートリアルではないためです。

  11. これを探していました。共有していただきありがとうございます。@mrahmadawais さんと同じ意見で、最初の方法で十分シンプルでうまく機能します。

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。