我在WordPress中发布了meta,它存储了slide_image1 - 9,以及slide_text1-9和slide_embed1-9。
我希望能够遍历所有可能性,并存储元值(如果有的话),然后检查它们是否为空以决定是否应显示幻灯片。基本上,我们想说,检查该幻灯片#的任何数据,如果有值,则显示幻灯片。
这就是我现在所拥有的:
for ($i = 1; $i < 10; $i++) {
$slide_image . $i = get_post_meta($post->ID, 'slide_image'.$i, true);
$slide_embed . $i = get_post_meta($post->ID, 'slide_embed'.$i, true);
$slide_text . $i = get_post_meta($post->ID, 'slide_text'.$i, true);
if ($slide_image.$i !=='' || $slide_embed.$i !=='' || $slide_text.$i !==''){
echo 'there is a thing for this'
}}
这显然不起作用 - 我假设我需要使用数组,但我无法弄明白 - 任何人都可以帮忙吗?
答案 0 :(得分:1)
你可以试试这个:
$slides = [];
for ($i = 1; $i < 10; $i++) {
$slides[$i]['image'] = get_post_meta($post->ID, 'slide_image'.$i, true);
$slides[$i]['embed'] = get_post_meta($post->ID, 'slide_embed'.$i, true);
$slides[$i]['text'] = get_post_meta($post->ID, 'slide_text'.$i, true);
if ($slides[$i]['image'] !=='' || $slides[$i]['embed'] !=='' || $slides[$i]['text'] !=='') {
echo 'there is a thing for this'
}
}
从您的问题来看,如果幻灯片具有所有属性,或者是否具有任何属性,是否要显示幻灯片并不十分清楚。您所拥有的代码是:“如果我有任何可用数据,请显示幻灯片”,而不是“如果我有所有可用数据,请显示幻灯片”。
答案 1 :(得分:0)
您必须将$side_image
和以下内容定义为数组:
$slide_image = []; // or $slide_image = array();
$slide_embed = [];
$slide_text = [];
现在你可以在你的for循环中使用它:
$slide_image[$i] = get_post_meta($post->ID, 'slide_image'.$i, true);