【发布时间】:2022-01-10 07:05:47
【问题描述】:
我为“portfolio”创建了一个自定义帖子类型,其中包含一个带有许多额外字段的自定义元框,其中一个是我用来确定此帖子类型是否包含案例研究的复选框,但我遇到了障碍,我看不出我哪里出错了。复选框的输出是“是”或“”。
我的 metabox 构建中的设置是:
<input type="checkbox" name="rccustom_fields[case_study]" value="yes" <?php if ( isset($meta['case_study']) && $meta['case_study'] === 'yes' ) echo 'checked'; ?>>
我可以通过输出看到这些值按预期存在:
$meta = get_post_meta( $post->ID, 'rccustom_fields', true );
print_r($meta);
但是,当我使用 args 提取基本 WP 查询来过滤这些结果时:
$args = array(
'numberposts' => -1,
'post_type' => 'portfolio',
'meta_key' => 'case_study',
'meta_value' => 'yes',
我没有得到任何返回,即使执行 print_r 显示元值确实存在并且等于“是”。 (如果我注释掉 meta_key/meta_value 行,自定义帖子类型的所有帖子都会显示)
有人看到我在这里看不到的东西吗?
【问题讨论】:
-
所有自定义字段都被包装到 rccustom_fields 数组中,以便更轻松地保存它们(至少这是我的理解——处理我不久前构建的东西,逻辑有点模糊)......如果我要查询 meta_key => 'rccustom_fields',我不知道如何进入该数组来测试 meta_value。
标签: wordpress custom-post-type meta-boxes