DBにある情報を$wpdb使って直接データを取得する場合
例:カスタムフィールドの値を条件に、何件登録しているかカウントを取得
<?php
// これを宣言しないとできない。
global $wpdb;
$meta_value = "会社名";
$query = "SELECT COUNT(*) FROM $wpdb->posts p
LEFT OUTER JOIN $wpdb->postmeta pm on p.ID = pm.post_id
WHERE meta_key = 'office_name' AND meta_value = '".$meta_value."' AND post_status = 'publish';";
$meta_count = $wpdb->get_results($query, ARRAY_A);
return $meta_count[0]['COUNT(*)'];
?>
postmetaには、設定したカスタムフィールドのmeta_keyとmeta_valueが登録され、そこに利用されているpostのidが登録されている。それを取り出してpostのidと比較した状態で、カスタムフィールドの値で絞り込みしている。