при дублировании php кода, сайт выдает критическую ошибку. Ошибка 500

Сайт на wordpress. Есть слайдер, который выводится через цикл.

<section class="docs-slide">
    <div class="container docs-slide-container">

        <h1 class="titles docs-slide-title">
            разрешительные документы
        </h1>

        <div class="slider">
            <?php
            $loopDocs = CFS()->get('slider-docs');

            function debug($data){
                echo "<pre>";
                var_dump($data);
                echo "</pre>";
            }

            // debug($loopDocs);

            foreach ($loopDocs as $indexDocs => $rowDocs) : 
            ?>
            <div class="slider__item filter">
                <img src="<?= $rowDocs['slider-docs-picture'] ?>" alt="">
                <div class="slider-img-bg">
                    <p class="slider-img-bg-text">
                        <?= $rowDocs['name-docs'] ?>
                    </p>
                    <a type="button" class="btn btn-primary slider-img-bg-link" data-bs-toggle="modal" data-bs-target="#doki<?php echo $indexDocs;?>">
                        Нажмите, чтобы посмотреть
                    </a>
                </div>
            </div>

            <?php
            endforeach;
            ?>
        </div>

        <!-- Modals begin -->
        <?php foreach ($loopDocs as $indexDocs => $rowDocs ): ?>
        <div class="modal fade" id="doki<?php echo $indexDocs;?>" tabindex="-1" aria-labelledby="complianceDocs" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    <div class="slider-popup slider-popup-1">
                        <?php foreach ($rowDocs['slider-docs-popup'] as $imageIndexDocs => $imageRowDocs) : ?>
                        <div class="slider-popup-item slider-popup-1-item">
                            <img src="<?= $imageRowDocs['slider-docs-popup-picture'] ?>" alt="docs" data-zoom-image="<?= $imageRowDocs['slider-docs-popup-picture'] ?>" class="loupeImage"/>
                        </div>
                        <?php endforeach;?>
                    </div>
                </div>
            </div>
        </div>
        <?php endforeach;?>

        <!-- Modals end -->


    </div>  

</section>

Мне нужно на этой же страницу, сделать такой же слайдер. Я копирую и меняю id.

<section class="docs-slide">
    <div class="container docs-slide-container">

        <h1 class="titles docs-slide-title">
            Рекомендательные письма
        </h1>

        <div class="slider">
            <?php
            $loopDocs = CFS()->get('slider-rec-letters');

            function debug($data){
                echo "<pre>";
                var_dump($data);
                echo "</pre>";
            }

            // debug($loopDocs);

            foreach ($loopDocs as $indexRec => $rowDocs) : 
            ?>
            <div class="slider__item filter">
                <img src="<?= $rowDocs['rec-letter-picture'] ?>" alt="">
                <div class="slider-img-bg">
                    <p class="slider-img-bg-text">
                        <?= $rowDocs['rec-letters-name'] ?>
                    </p>
                    <a type="button" class="btn btn-primary slider-img-bg-link" data-bs-toggle="modal" data-bs-target="#rec<?php echo $indexRec;?>">
                        Нажмите, чтобы посмотреть
                    </a>
                </div>
            </div>

            <?php
            endforeach;
            ?>
        </div>

        <!-- Modals begin -->
        <?php foreach ($loopDocs as $indexRec => $rowDocs ): ?>
        <div class="modal fade" id="rec<?php echo $indexRec;?>" tabindex="-1" aria-labelledby="complianceDocs" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    <div class="slider-popup slider-popup-1">
                        <?php foreach ($rowDocs['slider-rec-letters-popup'] as $imageIndexDocs => $imageRowDocs) : ?>
                        <div class="slider-popup-item slider-popup-1-item">
                            <img src="<?= $imageRowDocs['rec-letter-picture-popup'] ?>" alt="docs" data-zoom-image="<?= $imageRowDocs['rec-letter-picture-popup'] ?>" class="loupeImage"/>
                        </div>
                        <?php endforeach;?>
                    </div>
                </div>
            </div>
        </div>
        <?php endforeach;?>

        <!-- Modals end -->


    </div>  

</section>

таким образом. Но сайт почему то выдает критическую ошибку. В чем проблема?


Ответы (1 шт):

Автор решения: Darth KYL

вы дублируете обьявление функции 'debug' несколько раз. вот так должно работать

<section class="docs-slide">
    <div class="container docs-slide-container">

        <h1 class="titles docs-slide-title">
            Рекомендательные письма
        </h1>

        <div class="slider">
            <?php
            $loopDocs = CFS()->get('slider-rec-letters');

            // debug($loopDocs);

            foreach ($loopDocs as $indexRec => $rowDocs) : 
            ?>
            <div class="slider__item filter">
                <img src="<?= $rowDocs['rec-letter-picture'] ?>" alt="">
                <div class="slider-img-bg">
                    <p class="slider-img-bg-text">
                        <?= $rowDocs['rec-letters-name'] ?>
                    </p>
                    <a type="button" class="btn btn-primary slider-img-bg-link" data-bs-toggle="modal" data-bs-target="#rec<?php echo $indexRec;?>">
                        Нажмите, чтобы посмотреть
                    </a>
                </div>
            </div>

            <?php
            endforeach;
            ?>
        </div>

        <!-- Modals begin -->
        <?php foreach ($loopDocs as $indexRec => $rowDocs ): ?>
        <div class="modal fade" id="rec<?php echo $indexRec;?>" tabindex="-1" aria-labelledby="complianceDocs" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    <div class="slider-popup slider-popup-1">
                        <?php foreach ($rowDocs['slider-rec-letters-popup'] as $imageIndexDocs => $imageRowDocs) : ?>
                        <div class="slider-popup-item slider-popup-1-item">
                            <img src="<?= $imageRowDocs['rec-letter-picture-popup'] ?>" alt="docs" data-zoom-image="<?= $imageRowDocs['rec-letter-picture-popup'] ?>" class="loupeImage"/>
                        </div>
                        <?php endforeach;?>
                    </div>
                </div>
            </div>
        </div>
        <?php endforeach;?>

        <!-- Modals end -->


    </div>  

</section>

любые функции не стоит обьявлять в шаблонах, для этого нужно использовать другие файлы например functions.php

→ Ссылка