web-dev-qa-db-ja.com

Custom_field == Xの投稿が存在するかどうかを確認する方法

カスタムフィールドXがYに等しい投稿がワードプレスのインストールに存在するかどうかを調べる必要があります。

単純なSQLクエリを使用してそれを実行する必要がありますかそれを達成するのに役立つことができますそれに組み込まれていますか?

1
user3148

あなたは WP_Query ()を使うことができます。これをチェックするには:

$my_query = new WP_Query();
$my_query->query(array( 'meta_key' => 'X', 'meta_value' => 'Y'));
if ( $my_query->have_posts() ){

     //it exists

} else {
    //it's not here
}

お役に立てれば。

3
Bainternet

現在の方法は次のようになります。

$posts = get_posts(array(
    'meta_key' => 'color',
    'meta_value' => 'blue',
));

if( !empty($posts) ) { // some posts found }

今後の3.1ではカスタムフィールドのクエリが大幅に改善され引数が変更されています。Codexの カスタムフィールドパラメータ を参照してください。

1
Rarst

あなたが外部的に(あなたのコメントに従って)これを使いたいならば、操作を安く保つためにあなたはこのようなことをすることができます。

<?php
// You'll need to make sure the path is correct here
include_once 'wp-config.php';
include_once 'wp-includes/wp-db.php';

// Of course update the following line with a more appropriate query
$result = $wpdb->get_results("SELECT * FROM $wpdb->posts"); 

print '<pre>';
print_r( $result ); // Remove and do whatever you need to do
print '</pre>';
?>

wp-config.phpwp-db.phpをロードするだけで、必要なデータをDBに問い合わせるために$wpdbメソッドを呼び出すことができます。

メタに基づいて投稿を取得するためのサンプルSQLクエリが必要かどうかを教えてください。

0
t31os