我在WordPress中有post-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'
}}
这显然不起作用——我想我需要使用一个数组,但我想不通——有人能帮忙吗??
你可以试试这个:
$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'
}
}
从你的问题中还不太清楚你是想显示一张幻灯片,如果它具有所有属性,还是具有任何属性。您的代码是说,"如果我有任何可用的数据,请显示幻灯片",而不是"如果我拥有所有可用的数据"。
您必须将$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);