php - Wordpress get_post_meta - 如何检查多个 key ?

标签 php wordpress

所以我正在尝试使用 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 返回一个单个值,falsemeta_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
}

关于php - Wordpress get_post_meta - 如何检查多个 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23801675/

相关文章:

php - 从 MySQL LIKE 查询中获取匹配的上下文

php - 从 PHP 编译 C,尝试执行 'cc1' 时出现执行错误

mysql - 如何将 mysql 查询执行到 cf7 按钮操作中

Wordpress 插件安装失败

MySQL在wordpress中使用ajax选择查询

php - 如何从 <?php the_category() ?> 中删除列表

php - 如何获取 option_name 的值并显示在前端?

php - 在 PHP 中访问包含不常见变量名称的数组

php - 创建具有多种关系的 Eloquent 实例?

php - MySQL ORDER BY 结合两个最接近今天的日期