如何查找是否存在custom_field == x的帖子?
-
16-10-2019 - |
题
我需要查找WordPress安装中的具有自定义字段X的帖子是否等于y。
我应该使用简单的SQL查询来做到这一点,还是在其中有一些可以帮助我实现的东西?
解决方案
您可以使用 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
}
希望这可以帮助。
其他提示
当前的方式就是这样:
$posts = get_posts(array(
'meta_key' => 'color',
'meta_value' => 'blue',
));
if( !empty($posts) ) { // some posts found }
请注意,在即将到来的3.1查询中,对自定义字段的查询有了很大的改进,并且参数改变了,请参见 自定义字段参数 在法典中。
如果您想在外部使用此(根据您的评论),为了保持便宜的操作,您可以做这样的事情。
<?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.php
和 wp-db.php
应该足以呼吁 $wpdb
查询数据库是否需要的任何数据的方法。
让我知道您是否需要一个示例SQL查询来基于Meta获取帖子。