[WordPress]  のループとは?

ワードプレスのループについて、いままでよくわからなかったので、まとめました。

スポンサーリンク

ループの中

ワードプレスのループは、ループ=繰り返すという意味があるように、

繰り返して記事を表示する部分です。

一番みなれたループが下記のループです。


     // ループ処理
    

サブループとメインループ

WordPressのループはメインループサブループがあり、一般的には、見えないですが、メインループが呼び出されています。

メインループは基本、1ページに1回しか登場しないループのことで、それ以外に、横に新着記事の一覧などを表示する際に活用します。

○メインループを書き換える関数

query_posts()

○サブループを生成する関数

WP_Query()   *get_postsとほぼ同じですが、使用が推奨されています。

 'cat-hoge',
     'posts_per_page' => 5, 
); ?>

   have_posts()): ?>
   have_posts()): $loop->the_post();?>
  

ループの中で使えるテンプレートタグ(変数??)

//投稿(記事)のURLを取得して出力
the_permalink(); ?>
//投稿(記事)のタイトルを取得して出力
the_title(); ?>
//投稿(記事)の本文を取得して出力
the_content(); ?>
//投稿(記事)のカテゴリー名を取得して出力
single_cat_title(); ?>

ループの外で情報を取得するには

現在の記事を取得して、get_the_categoryに限らず、記事ID $post->ID を指定すればループ外でも使えるというテンプレートタグは多いので、ほかのテンプレートタグでも使えます。

$cats = get_the_category($post->ID);

$postは、グローバル変数なので、既にWPにより、設定されている変数となります。

下記のコードにより、

global $post;
print_r($post);
?>
簡単に設定されている内容が表示できます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
WP_Post Object (
[ID] => 投稿ID
[post_author] => 投稿者ID
[post_date] => 投稿日時
[post_date_gmt] => 投稿日時(GMT
[post_content] => 記事の内容
[post_title] => 記事のタイトル
[post_excerpt] => 投稿内容(抜粋)
[post_status] => 記事の公開状態
[comment_status] => 記事のコメント受付状態
[ping_status] => 記事のトラックバック/ピンバック受付状態
[post_password] => 記事の閲覧パスワード
[post_name] => 記事のスラッグ
[to_ping] => ピン通知 URL
[pinged] => ピン通知済み URL
[post_modified] => 記事の更新日時
[post_modified_gmt] => 記事の更新日時(GMT
[post_content_filtered] =>
[post_parent] =>ID(親がなければ0)
[guid] => 投稿のURL
[menu_order] => 固定ページの表示順序(なければ0)
[post_type] => 投稿タイプ (postなのか、pageなのか、attachmentなのか)
[post_mime_type] => 添付ファイル(attachment)のとき MIME タイプ
[comment_count] =>コメントの数
[filter] => フィルター名

グローバル変数

  • I(10)
    • $id – 現在の投稿情報ID
    • $is_chrome – ブラウザがChromeか調べる
    • $is_gecko – ブラウザがGeckoか調べる
    • $is_IE – ブラウザがInternet Explorerか調べる
    • $is_iphone – ブラウザがiPhoneか調べる
    • $is_lynx – ブラウザがLynxか調べる
    • $is_NS4 – ブラウザがNetscape 4.xか調べる
    • $is_opera – ブラウザがOperaか調べる
    • $is_safari – ブラウザがSafariか調べる
    • $is_winIE – ブラウザがWindows版のInternet Explorerか調べる
  • L(1)
    • $locale – 現在のロケール情報
  • N(1)
    • $name – 投稿ページの投稿名
  • P(5)
    • $paged – 複数ページのページ番号
    • $pagenow – 管理ページのページファイル名
    • $post – 投稿情報
    • $posts – ある条件でロードされた投稿情報配列
    • $previousday – 直前の投稿記事の投稿日
  • Q(1)
  • W(6)
    • $wp_rich_edit – ビジュアルリッチエディターの使用可能状態
    • WP_CONTENT_DIR – プラグインやテーマが格納されているディレクトリのパス名
    • WP_CONTENT_URL – wp_contentディレクトリのURL
    • WP_LANG_DIR – 言語ディレクトリのパス名
    • WP_PLUGIN_DIR – プラグインが格納されているディレクトリのパス名
    • WP_PLUGIN_URL – プラグインディレクトリのURL

まとめ

WPのグローバル変数を間違えて書き換えないように、注意しましょう。

ループ内であれば、テンプレートタグでさまざまな情報を取得できることから、

入門者でもワードプレスのカスタマイズが簡単に行えます。

スポンサーリンク

Leave a Reply