WP_Query
将返回WP_Query
对象对象永远不会与字符串匹配$ip
您正在将其与之进行比较。您需要做的是检查是否返回了结果,您可以通过检查found_posts
属性:
$ip = $_SERVER[\'REMOTE_ADDR\'];
$query = new WP_Query( array(
\'ignore_sticky_posts\' => true,
\'meta_key\' => \'voted_IP\',
\'meta_value\' => $ip
) );
if (0 !== $query->found_posts) {
echo \'one\';
} else {
echo \'two\';
}
或者您可以使用
WP_Query
方法
have_posts
:
$ip = $_SERVER[\'REMOTE_ADDR\'];
$query = new WP_Query( array(
\'ignore_sticky_posts\' => true,
\'meta_key\' => \'voted_IP\',
\'meta_value\' => $ip
) );
if ($query->have_posts()) {
echo \'one\';
} else {
echo \'two\';
}
注意,我添加了
ignore_sticky_posts
条件你需要这样才能可靠地工作
默认情况下,查询将检查已发布的帖子,如果需要其他帖子类型或帖子状态,则需要添加更多条件。