CONTENTS

ワードプレスの小ネタ集
WEB制作

おすすめPICK UPサービス!

ワードプレス
公開日:2023.1225

wordpressのループの基本概念。

ここの理解が結構大事と思っております。
始めたばかりの頃はどうしても難しく思えてしまえますが、この基本を覚えておけばwordpressのすべてといえるほどの仕組みが理解できるかと。

WordPressにおいて、ループは記事やページなどのコンテンツを表示するための基本的な仕組みです。

WordPressでは、WP_Queryクラスやget_posts()関数を使用して、データベースから取得した投稿やページの情報を処理します。以下に、基本的なWordPressループのコードとその説明を示します。

<?php
// WordPressループの開始
if (have_posts()) : while (have_posts()) : the_post();

    // 投稿やページのタイトルを表示
    the_title('<h2>', '</h2>');

    // 投稿やページの本文を表示
    the_content();

    // カスタムフィールドなどの追加情報を表示
    // (例: the_meta());

endwhile;
// ループの終了
else :
    // ループの中で表示すべきコンテンツがない場合の処理
    _e('Sorry, no posts matched your criteria.', 'textdomain');

endif;
?>

このコードの主なポイント

  1. if (have_posts()) : から endif; までが、WordPressループの開始と終了を示しています。ループ内で表示するコンテンツがあるかどうかを確認します。
  2. while (have_posts()) : the_post(); は、データベースから次の投稿やページの情報を取得して、それが存在する限りループを続けます。
  3. the_title('<h2>', '</h2>'); は、投稿やページのタイトルを<h2>タグで表示します。the_content(); は本文を表示します。
  4. カスタムフィールドやその他の情報を表示する場合は、それに対応するコードを追加できます。
  5. else : から endif; までが、ループの中で表示すべきコンテンツがない場合の処理です。特定の条件に一致する投稿がない場合、エラーメッセージなどを表示できます。

この基本的なWordPressループのコードは、テーマファイル(例: index.phparchive.php)に配置されることが一般的です。各テーマが独自のデザインや機能を持つため、実際の使用に合わせてカスタマイズすることが重要です。

wordpressのカテゴリ一覧のループ方法

WordPressでカテゴリ一覧を表示するには、get_categories()関数やwp_list_categories()関数を使用して、カテゴリ情報を取得し表示します。以下に、これらの関数を使った基本的なカテゴリ一覧のループの例を示します。
下記は一例です。

<?php
// カテゴリ一覧を取得
$categories = get_categories();

// カテゴリが存在する場合の処理
if ($categories) {
    foreach ($categories as $category) {
        // カテゴリ名やリンクを表示
        echo '<a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a><br>';
    }
} else {
    // カテゴリが存在しない場合の処理
    echo 'No categories found.';
}
?>

wp_list_categories()を使用した例

<?php
// カテゴリ一覧を表示
wp_list_categories();

// カテゴリが存在しない場合の処理
if (count(get_categories()) == 0) {
    echo 'No categories found.';
}
?>

これらの例では、get_categories()関数でカテゴリの情報を取得し、foreachループを使用して各カテゴリを表示しています。もしくは、wp_list_categories()関数を使用して、一覧表示することもできます。

カテゴリを表示するためには、get_category_link()関数を使用してカテゴリのリンクを生成し、$category->nameを使用してカテゴリ名を表示しています。

どちらの方法も、テーマのデザインや要件に合わせて適切にカスタマイズできます。