@Apocalypset

Как выводить новости в wordpress?

Как правильно выводить новости в wordpress на главную страницу? нужно последние три новости вывести, раздел новости я добавил с помощью functions.php. А вот как вывести на главную страницу последние три новости что-то не получается.
function register_news_entities() {
  $news_args = array(
    'public' => true,
    'label'  => null,
    'labels' => array(
      'name'               => 'Новости',
      'singular_name'      => 'Новость',
      'add_new'            => 'Добавить новость',
      'add_new_item'       => 'Добавление новости',
      'edit_item'          => 'Редактирование новости',
      'new_item'           => 'Новая новость',
      'view_item'          => 'Смотреть новость',
      'search_items'       => 'Искать новости',
      'not_found'          => 'Не найдено',
      'not_found_in_trash' => 'Не найдено в корзине',
      'parent_item_colon'  => '',
      'menu_name'          => 'Новости',
    ),
    'menu_position' => 5,
    'menu_icon' => 'dashicons-welcome-widgets-menus',
    'rewrite' => array( 'slug' => 'news' ),
    'has_archive' => true
  );
  register_post_type( 'news', $news_args );
}


это мой код вывода
<div class="col-md-6 col-xl-3 p-0 m-0">
				        <div class="news"><a href="#">
				            <!-- Содержимое карточки -->
				            <!-- Изображение -->
							    <img class="news-img-top" src="img/3.jpg" alt="...">
							    <!-- Текстовый контент -->
							    <div class="card-body">
							        <h4 class="news-title">Заголовок карточки</h4>
								    <p class="card-text">Некоторый текст...</p>
							    </div>
							    <div class="card-footer">
								    <small class="text-muted">Last updated 3 mins ago</small>
								</div>
								</a>
				        </div>
				    </div>

Вот таким образом я изменил свой код
<div class="col-md-6 col-xl-3 p-0 m-0">
				    	<?php
			$args =  array(
				'post_type' => 'news',
				'posts_per_page' => 3,
				'order' => 'ASC'
			);

			$posts = get_posts($args);
			?>
				        <div class="news"><a href="#"><?php the_permalink(); ?>
				            <!-- Содержимое карточки -->
				            <!-- Изображение -->

			

			
							    <img  <?php the_post_thumbnail(); ?>>
							    <!-- Текстовый контент -->
							    <div class="card-body">
							        <h4 class="news-title"><?php the_title(); ?></h4>
								    <p class="card-text"><?php the_excerpt(); ?> </p>
							    </div>
							    <div class="card-footer">
								    <small class="text-muted">Last updated 3 mins ago</small>
								</div>
								</a>
				        </div>
				    <? endforeach; ?>
				    </div>
  • Вопрос задан
  • 435 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Apocalypset Автор вопроса
<div class="col-md-6 col-xl-3 p-0 m-0">
				    	<?php
			$args = array(
  'posts_per_page' => 3,
  'post_type' => 'news',
);

$query = new WP_Query( $args );

// Цикл
if ( $query->have_posts() ) {
  while ( $query->have_posts() ) {
    $query->the_post();
  }
} else {
  // Постов не найдено
}
// Возвращаем оригинальные данные поста. Сбрасываем $post.
?>
				        <div class="news"><a href="<?php the_permalink(); ?>">
				            <!-- Содержимое карточки -->
				            <!-- Изображение -->

			

			
							    <img  <?php the_post_thumbnail(); ?>>
							    <!-- Текстовый контент -->
							    <div class="card-body">
							        <h4 class="news-title"><?php the_title(); ?></h4>
								    <p class="card-text"><?php the_excerpt(); ?> </p>
							    </div>
							    <div class="card-footer">
								    <small class="text-muted"><?php the_date(); ?></small>
								</div>
								</a>
				        </div>
				  <?php wp_reset_postdata();?>
				    </div>

попробовал еще таким методом пост я вывел, но появилась только одна новость, я же хочу вывести три последние новости62c5d44f7d379012316920.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы