最近、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、リスト要素、またはその他の好きなものを追加して、スタイリングをカスタマイズすることもできます。

Jilaan
拝啓
サー、ウィジェットにランダムにタグを表示したいのですが、どうすればよいですか?function.php ファイルに追加できるコードを教えていただけますか?ランダムなタグとタグ数の制限を表示するようにします。
ありがとう
WPBeginnerサポート
お探しのものについては、こちらの記事をご覧ください: https://014.leahstevensyj.workers.dev/plugins/how-to-display-most-popular-tags-in-wordpress/
管理者
C. Dee
このコードスニペットはうまく機能します。
ただし、1つの変更が必要です。各ブログ投稿に入力した最初の3つのタグのみを表示する必要があります。現在3つのタグが表示されており、これは良い進歩です。
しかし、私のウェブサイトの目的とリサーチデータの提示方法のため、指定した順序で最初の3つが特に必要です。例えば:
Jennifer Weaver, Case #4455883, New Mexico
タグは次のように入力しています:名前、ケース番号、場所 — そして追加のタグもあります。しかし、エントリーメタに表示したいのは最初の3つだけです。
これを行うための提案はありますか?共有されたコードは任意の順序を選択します。タグがこのように入力された場合—1、2、3、4、5—それは次のような独自の配置を選択します:
5、4、1
これについて何かお手伝いいただけると幸いです!!
mahmood dabestani
こんにちは。
この投稿は非常に役立ちました。
しかし、私は連絡先ページのような単一のページを作成しようとしています。そのページには、私の製品の1つに関する説明が含まれています。
その説明のお気に入りのタグをページに追加するにはどうすればよいですか?
言い換えれば、単一のページにお気に入りのタグを追加するにはどうすればよいですか?
どうもありがとうございます。
joni
ランダムなタグを表示するにはどうすればよいですか?
例:ブログの投稿に20個のタグがあり、
タグ番号1、タグ番号6、タグ番号5を表示したいとします。
別の投稿には20個以上のタグがあり、
タグ番号7、17、3を表示したいとします。
など
ヘクター・P
こんにちは!
「タグの使用を制限する」にはどうすればよいですか?投稿/商品ごとにタグは3つだけにしたいです。4つ選択した場合、その数は消去されます。
ありがとうございます!
WPBeginnerサポート
@Hector ご提案ありがとうございます。WordPressの投稿に最大タグ数を設定する方法について、新しい記事を公開しました。ぜひご覧いただき、お役に立てるかお知らせください。
管理者
Gabrielle
こんにちは、この関数にif文を追加するにはどうすればよいですか?
メインのブログページ(ID=99の静的ページ)に5つのタグを表示し、
次に、シングル投稿ページですべてのタグを表示したいです。
この機能を投稿カテゴリと連携させることは可能ですか?
上記のように、メインページに5つのカテゴリと5つのタグを表示し、シングル投稿ページには全リストを表示したいです…
私の英語はごめんなさい ;/
WPBeginnerサポート
そのためには、テーマまたは子テーマのテンプレートファイルを編集する必要があります。タグについては、このコードを試すことができます:
<?php $posttags = get_the_tags(); $count=0; if ($posttags) { $output = ''; foreach($posttags as $tag) { $count++; $output .= $tag->name . ' '; if( $count >5 ) break; } } echo $output; ?>1-click Use in WordPress
管理者
アンドリュー
素晴らしい情報です。別の問題の解決策を探してGoogle検索でこのサイトに来ました。タグページに、個々のタグページのヘッダーとしてタグ名を表示する必要があります。そのようなテーマはありますか?現在Diviテーマを使用していますが、その機能は利用できません。
メフメト・チャタイ
ラベルをランダムに印刷するにはどうすればよいですか?
例:10個中5個にランダムに表示されるラベルが付いています
Jill
参考までに…これらの4行をfunctionsファイルに貼り付けたところ、サイト全体が真っ白になりました。パニック発作を起こしそうになりました。ホスティング会社が復旧してくれました。
編集スタッフ
おそらく、構文を間違えて貼り付けたのでしょう。
https://014.leahstevensyj.workers.dev/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
管理者
ata
タグを使用して重複コンテンツ(パンダアップデート後)はどうなりますか?同じ記事が投稿ページとタグページに表示されます。
また、WPフォーラムで、各投稿に過剰なタグ(10個以上)を使用することの悪影響について読みました。
wpbeginner
@ata SEOのためにタグを使用すべきではありません。タグはサイトの使いやすさを向上させるためにWordPressに組み込まれています。必要であれば、1つの投稿に500個のタグを付けることができます。重要なのは、タグページをnoindexすることです。そうすれば、検索エンジンはそれらのページにアクセスし、すべてのリンクをたどりますが、それらのページはインデックスしません。これでSEOの問題は解決します。自分が何をしているのか全く分からない、自称SEO専門家が多すぎます。あなたが言及したような一般的な声明は、私たちが言っていることを守っている限り、完全に間違っています。
ata
実際、タグは一部のサイトのトラフィックを増やします。Googleで証明を見つけることができます。特に、投稿に関連付けられたロングテールキーワード。
タグが「noindex」に設定されている場合、検索エンジンがタグリンクを見つけられるかどうかはわかりません。投稿のURLはわかっても、タグリンクは意味がないのでわからないでしょう。
「一般的な声明」は全く声明ではありませんでした。私のコメントを読めば、それは問い合わせ/質問であり、私を噛み付く必要はありませんでした。
wpbeginner
@ata まず、はっきりさせておきます。私はあなたに噛み付いているわけではありません。イライラしたのは、そのような一般的な主張をする専門家に対してです。WordPressは多くのインデックス作成方法を許可しています。ほとんどの人はカテゴリをアーカイブの主な方法として使用しています。重複コンテンツを防ぐために、インデックス可能なアーカイブ方法は1つしか使用できません。重複コンテンツを防ぐために、すべての二次的な方法はno-indexにする必要があります。
アーカイブの主な方法としてカテゴリを使用しています。必要であれば、タグをアーカイブの主要なソースとして使用することもできます。ブログではカテゴリの方がパフォーマンスが良い傾向があります。タグをアーカイブの主要なソースとして使用したい場合は、カテゴリと日付ベースのアーカイブを no-index にしてください。サイトの唯一の著者である場合は、著者アーカイブも no-index にしても構いません。それらは重複コンテンツを生成するだけだからです。この記事では、これ以上 SEO の理論については議論しません。これはデザインのチュートリアルであり、SEO のチュートリアルではないためです。
astronyu
これを探していました。共有していただきありがとうございます。@mrahmadawais さんと同じ意見で、最初の方法で十分シンプルでうまく機能します。
Livefyre
最初のアプローチは素晴らしいです