ユーザーが作成したカスタム投稿の数をカウントする方法を探していましたが、このスニペットを使用してそれを行うことができました:
<?php
$userid = get_current_user_id();
function count_user_posts_by_type($userid, $post_type = 'foo_type', $post_status = 'publish') {
global $wpdb;
$query = "SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = $userid AND post_type = '$post_type' AND post_status = '$post_status'";
$count = $wpdb->get_var($query);
return apply_filters('get_usernumposts', $count, $userid);
} ?>
そして、次のように結果をエコーします。
<?php echo count_user_posts_by_type($userid); ?>
私の質問: 上記のコードは、カスタム投稿タイプ「foo_type」のカウントのみを出力します。「foo_type」と「bar_type」の 2 つのカスタム投稿タイプがある場合、「foo_type」のカウントだけでなく、両方のカウントを返すようにこのコードを変更するにはどうすればよいですか?