質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.92%

1ページに表示する件数

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,505
退会済みユーザー

退会済みユーザー

以下でタグを一覧表示(全件や任意の数値)できますが、1ページごとに表示する件数(全件を複数ページに分割)を指定するにはどうすればいいのでしょうか?
また、タグの頭文字(A,B,C,あ,い,う,え,お,など)別に表示できないものでしょうか?
タグ名別の索引一覧リストを作りたいのですが、、、。

<ul>
<?php
$args = array(
'orderby' => 'NAME',
'order' => 'ASC',
'number' => 20
);
$tags = get_terms('post_tag', $args);
foreach($tags as $value) {
echo '<li><a href="'. get_tag_link($value->term_id) .'">'. $value->name .' ('. $value->count .')</a></li>';
}
?>
</ul>

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2017/03/20 11:13

    質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。

    キャンセル

  • 退会済みユーザー

    2017/03/25 03:36

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

回答 1

+2

get_termsのパラメーターoffsetを使用し、分割したページ毎の表示を制御してみてはいかがでしょうか。

つまり、1ページ目はoffset=0、2ページ目はoffset=(2-1)*(1ページあたりの個数)、3ページ目はoffset=(3-1)*(1ページあたりの個数)と指定するイメージです。

タグの頭文字別の表示に関しては、foreach文の中でタグの名前の1文字目を判定し、1文字目が変わるごとに「A」や「B」などの区切りを加えていけばよいのではないでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/13 03:49

    【関数リファレンス/get terms - WordPress Codex 日本語版】
    http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_terms#Possible_Arguments
    > offset
    > (整数) 見つかったタームの先頭から指定の個数を読み飛ばして返します。必ず 'number' と一緒に使ってください。そうしないと 'offset' は無視されて結果すべてが返されます。

    'number' も要るのでは?

    キャンセル

  • 2017/03/13 04:22

    はい、numberも必要です。
    ドキュメント読めばわかるからと思い、あえて書きませんでしたが、ちょっと不親切でした。

    キャンセル

  • 2017/03/20 08:02

    offset=10 等で10個飛ばして取得表示はわかりましたが、1ページごとに表示(ページ送りも表示)するにはどのように書けばいいのでしょうか?
    また、数百ページに渡る場合、一つ一つ(offset=(2-1)・(3-1)・・・・)記載していくのでしょうか?

    キャンセル

  • 2017/03/20 09:34

    `$paged = get_query_var("paged");`でページ数が取得できるので、`$offset = $paged * (1ページあたりの個数);`みたいに書けばいいと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る