[英]Wordpress get_post_meta - how can I check for multiple keys?
因此,我正在尝试使用Wordpress post meta确定条件。 如果用户已填充帖子元,我一直在使用get_post_meta()
来显示内容,但是我需要改进规则并为其添加一些附加条件。
基本上,我需要做的就是将此条件扩展到多个键。 如果用户同时输入post_meta_1
和post_meta_2
则将运行某些代码,否则,则将运行其他代码。
这是我当前正在使用的代码:
if (!((get_post_meta($post->ID, 'post_meta_1', TRUE))=='')) {
// code here
} elseif {
// code here as well
}?>
这是我的PHP逻辑的发展方向:
if (!((get_post_meta($post->ID, array('post_meta_1', 'post_meta_2'), false))=='')) {
// code here
} elseif {
// code here as well
}?>
编辑
通过某种方法,我设法使它正常工作:
<?php
$post_meta_1 = get_post_meta($post->ID, 'post_meta_1', TRUE);
$post_meta_2 = get_post_meta($post->ID, 'post_meta_2', TRUE);
if ($post_meta_1 && $post_meta_2) : ?>
CODE HERE
<?php endif; ?>
您将需要为每个meta_key
分别调用get_post_meta()
。 你可以有一个下保存多个值meta_key
这是第三个参数是什么- true
返回一个值, false
为该值的数组meta_key
。 如果数据库中没有值,则get_post_meta()
的结果为=== false
,或者您也可以只检查empty()
。
$capacity = get_post_meta( $post->ID, 'post_meta_1', true );
$approved_environment = get_post_meta( $post->ID, 'post_meta_2', true );
if ( $capacity && $approved_environment ){
// post_meta_1 AND post_meta_2 are set
}
if ( false !== $capacity && false !== $approved_environment ){
// post_meta_1 AND post_meta_2 are not set
}
if ( false !== $capacity || false !== $approved_environment ){
// post_meta_1 AND/OR post_meta_2 are not set
}
if ( empty( $capacity ) && empty( $approved_environment ) ){
// post_meta_1 AND post_meta_2 are not set or are equal to "", null, or 0
}
if ( empty( $capacity ) || empty( $approved_environment ) ){
// post_meta_1 AND/OR post_meta_2 are not set or are equal to "", null, or 0
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.