所以我试图用Wordpress post meta来解决条件问题。如果用户填充了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; ?>
答案 0 :(得分:3)
您需要为您希望获得值的每个get_post_meta()
单独致电meta_key
。您 可以 在单个meta_key
下存储多个值,这是第三个参数的用途 - true
返回单个值{{1 } false
的值数组。如果数据库中没有值,则meta_key
的结果为get_post_meta()
,或者您也可以检查=== false
。
empty()