Ошибка в пользовательском посте WordPress

У меня проблема с настраиваемым типом сообщения. Я пишу код настраиваемого типа сообщения WordPress, все работает нормально, но я хочу сделать глобальный код для вызова повсюду. Но когда я пытаюсь создать 2 разных файла, чтобы сделать код глобальным, появляется сообщение об ошибке «500 error».

Вот код

    $custom_terms = get_field('portfolio_gallery_category_name');
print_r(get_field('portfolio_gallery_category_name'));

foreach($custom_terms as $custom_term):
    wp_reset_query();
    $args = array('post_type' => 'portfolio',
        'tax_query' => array(
            array(
                'taxonomy' => 'portfolio_type',
                'field' => 'term_id',
                'terms' => $custom_term->term_id,
            ),
        ),
     );
$loop = new WP_Query($args);
include('templates-sections/portfolios.php');

а другой оставшийся код в другом глобальном имени файла - templates-section / portfolios.php

<?php

error_reporting(E_ALL);

 if ($loop->have_posts()): ?>

    <?php while($loop->have_posts()) : $loop->the_post();
            ?>
            <div class = "col-lg-3 col-md-4 col-sm-6 p-0 scale-anm" data-aos = "fade-zoom">
            <a href = "<?php the_post_thumbnail_url('full'); ?>" data-toggle = "lightbox" data-gallery = "example-gallery">
            <img src = "<?php the_post_thumbnail_url('full'); ?>" class = "img-responsive" /></a>
        </div>
      <?php endwhile; ?>
     <?php endif; ?>
<? endforeach; ?>

Я сообщаю обо всех ошибках, но то же самое, что и ошибка «500», может помочь решить эту проблему.

Я знаю, что у многих людей есть решения, и кто-то решает эту незначительную проблему.

Заранее спасибо.

Ошибка 500 - это общее сообщение об ошибке, которое охватывает практически все, что может пойти не так со скриптом. Проверьте журналы ошибок сервера, чтобы узнать точное сообщение об ошибке.

aynber 09.03.2018 16:08

Вероятно, вы не можете отложить цикл foreach в двух файлах. Не начинайте его с одного файла и не заканчивайте в другом.

ThomasV 09.03.2018 16:09

Как насчет объединения файлов 02 в один или просто использования $ loop = new WP_Query ($ args); внутри portfolios.php

Bassem Rabia 09.03.2018 16:11

@BassemRabia Я попробовал переместить $ loop = new WP_Query ($ args); но та же ошибка или белая пустая страница ...

Mohammad Furqan Fazlani 09.03.2018 16:18

Есть любое решение, чтобы разделить цикл foreach на 2 файла.

Mohammad Furqan Fazlani 09.03.2018 16:18

Не надо. Добавьте конец цикла foreach в свой первый файл после включения. Однако проблема может быть не в этом. Дополнительные сведения о сообщении об ошибке см. В журналах ошибок сервера.

aynber 09.03.2018 16:20

Я не уверен, но эта строка может быть основным источником вашей проблемы <? endforeach; ?> Отсутствует тег php <? php endforeach; ?>

Bassem Rabia 09.03.2018 16:52
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
68
1

Ответы 1

Вы можете создать функцию во втором файле и вызвать ее в своем первом файле.

<?php

$custom_terms = get_field('portfolio_gallery_category_name');
print_r(get_field('portfolio_gallery_category_name'));

include('templates-sections/portfolios.php');

foreach($custom_terms as $custom_term):
    wp_reset_query();
    $args = array('post_type' => 'portfolio',
        'tax_query' => array(
            array(
                'taxonomy' => 'portfolio_type',
                'field' => 'term_id',
                'terms' => $custom_term->term_id,
            ),
        ),
    );

$loop = new WP_Query($args);

myFunction( $loop );

endforeach;

?>

Ваш второй файл

<?php

error_reporting(E_ALL);

function myFunction( $loop ) {
    if ($loop->have_posts()): 

        while($loop->have_posts()) : $loop->the_post();
           ?>
           <div class = "col-lg-3 col-md-4 col-sm-6 p-0 scale-anm" data-aos = "fade-zoom">
              <a href = "<?php the_post_thumbnail_url('full'); ?>" data-toggle = "lightbox" data-gallery = "example-gallery">
                 <img src = "<?php the_post_thumbnail_url('full'); ?>" class = "img-responsive" /></a>
             </div>
         <?php endwhile;
     endif;

 }


 ?>

Другие вопросы по теме