get_post_class()


WordPressのget_post_class()関数は、投稿やページに適用するCSSクラスを取得するために使用されます。この関数は、投稿の種類、ステータス、カテゴリー、タグなどに基づいてクラスを自動的に生成します。

構文

get_post_class( string|array $class = '', int|WP_Post $post = null );

引数の説明:

  • $class (string|array) — 追加するCSSクラスを指定します。文字列または配列で指定可能です。
  • $post (int|WP_Post) — クラスを取得する投稿のIDまたは投稿オブジェクトを指定します。デフォルトは現在の投稿です。

例1: 基本的な使用例

この例では、投稿に適用されるデフォルトのCSSクラスを取得します。

<?php $classes = get_post_class(); echo implode(' ', $classes); ?>

例2: カスタムクラスの追加

この例では、投稿にカスタムクラスを追加します。

<?php $classes = get_post_class('custom-class'); echo implode(' ', $classes); ?>

例3: 配列を使用して複数のクラスを追加

この例では、配列を使用して複数のカスタムクラスを追加します。

<?php $classes = get_post_class(array('class-one', 'class-two')); echo implode(' ', $classes); ?>

例4: 特定の投稿にクラスを適用

この例では、特定の投稿IDに基づいてクラスを取得します。

<?php $classes = get_post_class('', get_post(123)); echo implode(' ', $classes); ?>

例5: ループ内での使用

この例では、ループ内でget_post_class()を使用して、各投稿にクラスを適用します。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="<?php echo implode(' ', get_post_class()); ?>">
  <?php the_title(); ?>
</div>
<?php endwhile; endif; ?>

例6: カスタム投稿タイプにクラスを適用

この例では、カスタム投稿タイプにクラスを適用します。

<?php $classes = get_post_class('', get_post(get_the_ID())); echo implode(' ', $classes); ?>

注意点

  • get_post_class()は、投稿のコンテキスト外で使用すると予期しない結果を返すことがあります。必ず投稿が存在するコンテキストで使用してください。
  • カスタムクラスを追加する際は、既存のクラスと競合しないように注意してください。

関連機能: