WordPressで複数のカテゴリやカスタムフィールド、特定ユーザーの記事数をカウントし数字のみ取得したい時にfunction.phpに書いておくコード

いろんなシチュエーションで記事数をカウントのみしたい時にfunction.phpに書いておいて、テーマphpファイル中で呼び出して使うと便利だよ。
たくさん使うと、たぶん重くなるのでお勧めできません・・・

カスタムフィールド値による記事数取得

function.phpに書いておく

function loopPostCount( $post_meta_key = null ,$post_meta_value = null )
{
$args = array(
'post_type' => 'post',
'meta_key' => $post_meta_key,
'meta_value' => $post_meta_value,
'posts_per_page' => -1
);
$meta_posts = get_posts($args);
$count_post = 0;
foreach ($meta_posts as $post) {
$count_post++;
}
return $count_post;
}

テーマファイル内での呼び出し例

<?php echo loopPostCount ('カスタムフィールド名','カスタムフィールドの値'); ?>

カテゴリ名とカスタムフィールド値による記事数取得

function loopPostCountCategory( $post_meta_category = null ,$post_meta_key1 = null ,$post_meta_value1 = null)
{
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'category_name' => $post_meta_category,
'meta_query' => array(
array(
'key' => $post_meta_key1,
'value' => $post_meta_value1
)
)
);
$meta_posts0 = get_posts($args);
$count_post = 0;
foreach ($meta_posts0 as $post) {
$count_post++;
}
return $count_post;
}

テーマファイル内での呼び出し例

<?php echo loopPostCountCategory ('カテゴリスラッグ','カスタムフィールド名','カスタムフィールドの値'); ?>

カテゴリ名と複数のカスタムフィールド値による記事数取得

function.phpに書いておく

function loopPostCountCategory2( $post_meta_category = null ,$post_meta_key1 = null ,$post_meta_value1 = null ,$post_meta_key2 = null ,$post_meta_value2 = null ,$post_meta_key3 = null ,$post_meta_value3 = null  )
{
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'category_name' => $post_meta_category,
'meta_query' => array(
array(
'key' => $post_meta_key1,
'value' => $post_meta_value1
),
array(
'key' => $post_meta_key2,
'value' => $post_meta_value2
),
array(
'key' => $post_meta_key3,
'value' => $post_meta_value3
)
)
);
$meta_posts3 = get_posts($args);
$count_post = 0;
foreach ($meta_posts3 as $post) {
$count_post++;
}
return $count_post;
}

テーマファイル内での呼び出し例

<?php echo loopPostCountCategory2 ('カテゴリスラッグ','カスタムフィールド名1','カスタムフィールドの値1','カスタムフィールド名2','カスタムフィールドの値2','カスタムフィールド名3','カスタムフィールドの値3'); ?>

ユーザーニックネームと複数のカスタムフィールド値による記事数取得

function.phpに書いておく

function loopPostCountCategoryAuthor( $post_meta_author = null ,$post_meta_category = null ,$post_meta_key1 = null ,$post_meta_value1 = null )
{
$args = array(
'post_type' => 'post',
'author_name' => $post_meta_author,
'posts_per_page' => -1,
'category_name' => $post_meta_category,
'meta_query' => array(
array(
'key' => $post_meta_key1,
'value' => $post_meta_value1
)
)
);
$meta_posts3 = get_posts($args);
$count_post = 0;
foreach ($meta_posts3 as $post) {
$count_post++;
}
return $count_post;
}

テーマファイル内での呼び出し例

<?php echo loopPostCountCategoryAuthor ('ユーザーニックネーム','カスタムフィールド名','カスタムフィールドの値'); ?>

動かなかったらごめんなさい!

どうか自己責任で!

caay
最後まで読んでいただきありがとうございました! こんな感じであまり気張らず、ダラダラと、楽しんでやっています。 どうぞよろしくお願いいたします。もしちょっとでも!ほんのちょっとでも興味を持っていただけたなら! 下のボタンよりフォローお願い致します。 小躍りしながら喜びます!