У меня проблема с настраиваемым типом сообщения. Я пишу код настраиваемого типа сообщения 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», может помочь решить эту проблему.
Я знаю, что у многих людей есть решения, и кто-то решает эту незначительную проблему.
Заранее спасибо.
Вероятно, вы не можете отложить цикл foreach в двух файлах. Не начинайте его с одного файла и не заканчивайте в другом.
Как насчет объединения файлов 02 в один или просто использования $ loop = new WP_Query ($ args); внутри portfolios.php
@BassemRabia Я попробовал переместить $ loop = new WP_Query ($ args); но та же ошибка или белая пустая страница ...
Есть любое решение, чтобы разделить цикл foreach на 2 файла.
Не надо. Добавьте конец цикла foreach в свой первый файл после включения. Однако проблема может быть не в этом. Дополнительные сведения о сообщении об ошибке см. В журналах ошибок сервера.
Я не уверен, но эта строка может быть основным источником вашей проблемы <? endforeach; ?> Отсутствует тег php <? php endforeach; ?>






Вы можете создать функцию во втором файле и вызвать ее в своем первом файле.
<?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;
}
?>
Ошибка 500 - это общее сообщение об ошибке, которое охватывает практически все, что может пойти не так со скриптом. Проверьте журналы ошибок сервера, чтобы узнать точное сообщение об ошибке.