Answer the question
In order to leave comments, you need to log in
Why doesn't PHP code work?
Good afternoon!
There is a php code that receives all posts and displays the data of each post using a loop:
<?php
// параметры
$args = [
'numberposts' => 0,
'category' => 'home_of_timber',
'order' => 'DESC',
'post_type' => 'post',
'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
];
// получаем посты по нашим параметрам
$posts = get_posts( $args );
// открываем html обертку
echo "<div class='shop-cards' id='shop-cards-5'>";
// перебираем полученные данные
foreach ( $posts as $post ) {
// задаем... не знаю как это называется в php, я воспринимаю это как некий контекст
// вообще подозреваю что проблема кроется в этой функции,
// но не могу понять почему и как исправить
setup_postdata( $post );
// далее шаблон для вывода html
?>
<div class='col-md-3 col-sm-6 col-xs-12'>
<div class='shop-card'>
<img src='<?php the_field('card_image')?>' alt=''>
<h3><?php the_field('card_name')?></h3>
<p>Площадь <?php the_field('card_area')?> м<sup>2</sup></p>
<span><?php the_field('card_old_price')?></span>
<b><?php the_field('card_new_price')?> руб.</b>
<button type='submit' class='popup-btn button-small'>Оставить заявку</button>
</div>
</div>
<?php
}
// сбрасываем конекст
wp_reset_postdata();
// закрываем html обертку
echo "</div>";
?>
<?php
// создаем функцию которая принимает параметры:
// $args_category - категория поста ( Рубрика в Wordpress )
// $cards_id - id для html тега
function get_house_cards( $args_category, $cards_id ) {
$args = [
'numberposts' => 0,
'category' => $args_category,
'order' => 'DESC',
'post_type' => 'post',
'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
];
$posts = get_posts( $args );
echo "<div class='shop-cards' id='$cards_id'>";
foreach ( $posts as $post ) {
setup_postdata( $post );
?>
<div class='col-md-3 col-sm-6 col-xs-12'>
<div class='shop-card'>
<img src='<?php the_field('card_image')?>' alt=''>
<h3><?php the_field('card_name')?></h3>
<p>Площадь <?php the_field('card_area')?> м<sup>2</sup></p>
<span><?php the_field('card_old_price')?></span>
<b><?php the_field('card_new_price')?> руб.</b>
<button type='submit' class='popup-btn button-small'>Оставить заявку</button>
</div>
</div>
<?php
}
wp_reset_postdata();
echo "</div>";
}
// вызываем созданную функцию
get_house_cards('home_of_timber', 'shop-cards-5');
?>
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question