php foreach循环在其他(语言)页面上不工作
在我的多语言网站上,有一个foreach循环,在4页上实现。 在英语主页和案例研究页面以及荷兰主页和项目页面上。 它在英文主页和案例研究页面上运行良好,但在荷兰主页和项目页面上不起作用 当我测试它是否是数组时,它在英文页面上是数组,但在荷兰语页面上不是 这一错误是在2020年12月突然开始的,在此之前一切正常 示例查看在选定的客户机上有徽标,这些徽标由foreachloop生成,在Selectie van onze klanten上没有徽标 我希望有人能帮我使它重新工作 代码是:php foreach循环在其他(语言)页面上不工作,php,wordpress,foreach,Php,Wordpress,Foreach,在我的多语言网站上,有一个foreach循环,在4页上实现。 在英语主页和案例研究页面以及荷兰主页和项目页面上。 它在英文主页和案例研究页面上运行良好,但在荷兰主页和项目页面上不起作用 当我测试它是否是数组时,它在英文页面上是数组,但在荷兰语页面上不是 这一错误是在2020年12月突然开始的,在此之前一切正常 示例查看在选定的客户机上有徽标,这些徽标由foreachloop生成,在Selectie van onze klanten上没有徽标 我希望有人能帮我使它重新工作 代码是: <div
<div class="container">
<hr class="section__divider">
<section class="section">
<h4 class="section__title"><?php echo trans('Selected clients', 'Selectie van onze klanten') ?></h4>
<ul class="clients-logos">
<?php
$selected_clients = get_field('selected_clients', 'option');
if (is_array($selected_clients) || is_object($selected_clients))
{
foreach ($selected_clients as $client) { ?>
<li><img src="<?=$client['url']?>" alt="<?=$client['alt']?>"></li>
<?php
} ?>
<?php } ?>
</ul>
</section>
</div>
- “alt=”“>
我已更改代码,但没有帮助:
$page = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
echo $page.'<br><br>';
?>
<div class="container">
<hr class="section__divider">
<section class="section">
<h4 class="section__title"><?php echo trans('Selected clients', 'Selectie van onze klanten') ?></h4>
<ul class="clients-logos">
<?php
if (strpos($page, '/nl/') !== false) {
echo 'true'.'<br><br>';
}
if(strpos($page, '/nl/') !== false) {
$logo_klanten = get_field('selected_clients_nl', 'option');
if (is_array($logo_klanten)){
echo 'dit is een array <br>';
}else{
echo 'dit is geen array!<br>';
}
echo "VAR_DUMP(logo_klanten) <br>";
var_dump($logo_klanten);
echo "<br>";
echo "<br>";
foreach ($logo_klanten as $klant) { ?>
<li><img src="<?=$klant['url']?>" alt="<?=$klant['alt']?>"></li>
<?php
}
unset($klant);
}else{
$logo_clients = get_field('selected_clients', 'option');
if (is_array($logo_clients)){
echo 'dit is een array <br>';
}else{
echo 'dit is geen array!<br>';
}
echo "VAR_DUMP(logo_clients) <br>";
var_dump($logo_clients);
echo "<br>";
echo "<br>";
if (is_array($logo_clients)){
foreach ($logo_clients as $client) { ?>
<li><img src="<?=$client['url']?>" alt="<?=$client['alt']?>"></li>
<?php
}
}
unset($client);
}
?>
</ul>
</section>
</div>
$page=$\u服务器['SERVER\u NAME']。$\u服务器['REQUEST\u URI'];
echo$page.“
”;
?>
- “alt=”“>
- “alt=”“>
你可以看到:
它应该是一个数组。“当我测试它是否是数组时,它在英文页面上是一个数组,但在荷兰语页面上不是。”-因此,请检查您正在阅读的选项字段实际包含的内容。尝试添加var\u dump($selected\u clients);在if语句之前,查看实际返回的内容。荷兰页面上的其他“选项”字段是否正常?每当您有
if
,总是包含else
,除非您不关心它是否运行。这是您经常可以放置一些调试代码的地方。我添加了var\u dump($selected\u clients)在enlish的主页上有很多内容,请参见:数组(25){[0]=>数组(24){[“ID”]=>int(393)[“ID”]=>int(393)[“title”]=>string(8)“COLLIERS”[“filename”]=>string(14)“COLLIERS-2.jpg”[“filesize”]=>int(2226)[“url”=>string(67)”[“link”]=>string(37)”[“alt”=>string(0)”“恩斯……”——在荷兰的家里,它回来了:布尔(错)