繁体   English   中英

Wordpress get_post_meta-如何检查多个键?

[英]Wordpress get_post_meta - how can I check for multiple keys?

因此,我正在尝试使用Wordpress post meta确定条件。 如果用户已填充帖子元,我一直在使用get_post_meta()来显示内容,但是我需要改进规则并为其添加一些附加条件。

基本上,我需要做的就是将此条件扩展到多个键。 如果用户同时输入post_meta_1post_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM