Можно ли использовать get_posts()?
Здравствуйте, подскажите, пожалуйста, можно ли здесь и как использовать метод get_posts() для вывода постов? или что-то еще?
Дополнительно:
НЕ НАДО ставить тег РНР, если у вас вопрос по вордпресс
Ответы:
Да, можете создать метод get_posts() для вывода постов. Или что-то еще.
- Как? не получается, тогда как подтягивать данные с бд
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Да,
get_posts()можно использовать для вывода записей. Это нормальная WordPress-функция, которая внутри используетWP_Query, но возвращает простой массив постов. Она удобна, когда нужно вывести небольшой список записей без полноценной пагинации.<?php $posts = get_posts( [ 'post_type' => 'post', 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC', ] ); if ( $posts ) : foreach ( $posts as $post ) : setup_postdata( $post ); ?> <article> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> </article> <?php endforeach; wp_reset_postdata(); endif; ?>
Если нужно получить данные «из базы», не пишите прямой SQL без необходимости. Для записей, страниц, custom post type, категорий и мета-полей в WordPress уже есть API:
get_posts(),WP_Query,get_terms(),get_post_meta(),get_field()для ACF.Пример для custom post type:
$items = get_posts( [ 'post_type' => 'services', 'posts_per_page' => 10, 'post_status' => 'publish', ] );
Когда лучше использовать
WP_Query:found_postsи другие параметры запроса.Когда подходит
get_posts(): блок «похожие записи», список последних новостей, вывод нескольких элементов на главной, служебная выборка внутри шаблона. Главное — послеsetup_postdata()не забывайтеwp_reset_postdata().