На странице нужно сделать добавление карточек, сделал через ACF путем регистрации нового поста:
add_theme_support( 'post-thumbnails');
register_post_type('main_cards', array(
'label' => null,
'labels' => array(
'name' => 'Карточки на главной',
'singular_name' => 'Карточки на главной',
'add_new' => 'Добавить новую',
'add_new_item' => 'Добавить новую карточку',
'edit_item' => 'Редактировать карточку',
'new_item' => 'Новая карточка',
'view_item' => 'Показать карточку',
'not_found' => 'Карточка не найдена',
'not_found_in_trash' => 'Карточка не найдена в корзине',
'menu_name' => 'Карточки на главной',
),
'public' => false,
'show_ui' => true, //public dependence
'menu_icon' => 'dashicons-format-status',
'supports' => array('title', 'thumbnail')
) );
Потом получил все поля в массив:
function get_main_cards() {
$args = array(
'orderby' => 'date',
'order' => 'ASC',
'post_type' => 'main_cards'
);
$main_cards = [];
foreach ( get_posts($args) as $post ) {
$main_cards_i = get_fields($post->ID);
$main_cards_i['name'] = $post->post_title;
$main_cards_i['img'] = get_the_post_thumbnail_url( $post->ID, 'image' );
$main_cards[] = $main_cards_i;
}
return $main_cards;
}
И на странице вывожу поля таким образом:
<?php
foreach ( get_main_cards() as $main_card ):
?>
<div class="items__col-item">
<div class="item__col-inner relative">
<div class="item__col-item">
<a href="#"><img src="<?php echo $main_card['img']; ?>" alt="1"></a>
<div class="absolute item__hover d-flex justify-content-center align-items-center">
<div class="item__col-btns d-flex align-items-center flex-column">
<a href="#" class="item__col-btn">
Preview Tabor
</a>
<a href="#" class="item__col-btn">
View Details
</a>
</div>
</div>
</div>
</div>
<div class="items__col-text text-center">
<span class="bold-letters"><?php echo $main_card['name']; ?></span> — <?php echo $main_card['desc']; ?>
</div>
</div>
<?php
endforeach;
?>
Но проблема в том что в массив попадает только 5 записей, а следующие при добавлении через админку просто не записываются в массив и не выводятся. В чем может быть проблема, кто знает? Спасибо.
У get_posts()
есть предустановленные параметры, в том числе numberposts=5
.
Сделайте так:
$args = array(
'orderby' => 'date',
'order' => 'ASC',
'post_type' => 'main_cards',
'numberposts' => -1,
);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Допустим есть 5 массивов (a1, a2, a3, a4, a5), в массивах содержатся idНеобходимо сравнить между собой массивы и записать в новый массив все id встречающиеся...
Есть много файлов, в каждом ровно 200 строк, необходимо в каждом из них приписать в начале значение, цифра на конце которого будет меняться...