【问题标题】:php foreach loop not working on other (language) pagesphp foreach 循环在其他(语言)页面上不起作用
【发布时间】:2021-01-06 13:45:56
【问题描述】:

在我的多语言网站上,有一个在 4 个页面上实现的 foreach 循环。 在英文主页&casetudie 页面和荷兰文主页&projecten 页面。 它在英文主页和 casetudie 页面上运行良好,但在荷兰主页和 projecten 页面上无法正常运行。

当我测试它是否是一个数组时,它在英文页面上是一个数组,而不是在荷兰语页面上。

这个错误是在 2020 年 12 月突然开始的,之前还好。

例如,在 Selectie van onze klanten 看到 https://nitesco.swtest.nl/ 有徽标,这些是由 foreachloop 生成的,https://nitesco.swtest.nl/nl/Selectie van onze klanten 没有徽标

我希望有人可以帮助我让它再次工作。

代码是:

<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>

【问题讨论】:

  • “当我测试它是否是一个数组时,它在英文页面上是一个数组,而不是在荷兰语页面上。” - 所以去检查一下选项字段您正在阅读的内容实际上包含 then。
  • 尝试添加 var_dump($selected_clients);在 if 语句之前,看看实际返回的是什么。
  • 其他“选项”字段是否可以通过 o.k.在荷兰语页面上?
  • 只要你有一个if,总是包含一个else,除非你不在乎它是否没有运行。那是你经常可以放一些调试代码的地方。
  • 我添加了 var_dump($selected_clients);并且在英语主页上返回了很多内容,请参见 --- array(25) { [0]=> array(24) { ["ID"]=> int(393) ["id"]=> int(393 ) ["title"]=> string(8) "COLLIERS" ["filename"]=> string(14) "COLLIERS-2.jpg" ["filesize"]=> int(2226) ["url"]= > string(67) "nitesco.swtest.nl/wp-content/uploads/2017/12/COLLIERS-2.jpg" ["link"]=> string(37) "nitesco.swtest.nl/colliers-3" ["alt"]=> string(0) "" enz.... ------ - 在荷兰的家里它又回来了:bool(false)

标签: php wordpress foreach


【解决方案1】:

我已更改代码但没有帮助:

$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>

你可以看到它:https://nitesco.swtest.nl/nl/ 它应该是一个数组。

【讨论】:

    猜你喜欢
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多