ここの理解が結構大事と思っております。
始めたばかりの頃はどうしても難しく思えてしまえますが、この基本を覚えておけば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; ?>
if (have_posts()) :
から endif;
までが、WordPressループの開始と終了を示しています。ループ内で表示するコンテンツがあるかどうかを確認します。while (have_posts()) : the_post();
は、データベースから次の投稿やページの情報を取得して、それが存在する限りループを続けます。the_title('<h2>', '</h2>');
は、投稿やページのタイトルを<h2>
タグで表示します。the_content();
は本文を表示します。else :
から endif;
までが、ループの中で表示すべきコンテンツがない場合の処理です。特定の条件に一致する投稿がない場合、エラーメッセージなどを表示できます。この基本的なWordPressループのコードは、テーマファイル(例: index.php
やarchive.php
)に配置されることが一般的です。各テーマが独自のデザインや機能を持つため、実際の使用に合わせてカスタマイズすることが重要です。
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
を使用してカテゴリ名を表示しています。
どちらの方法も、テーマのデザインや要件に合わせて適切にカスタマイズできます。