显示WordPress中的帖子

时间:2019-02-24 16:23:55

标签: wordpress loops posts

我是WordPress的新手,正在尝试在网站上进行更改。

现在,该网站显示了无数的帖子和文章。我想将其更改为仅显示5条文章和帖子。

我不知道如何更改它,因为它也已连接到按钮。当您单击该按钮时,该按钮仍将显示所有帖子和文章。

有人知道我该如何前进吗?

最诚挚的问候,

<?php get_header();?>

	<?php get_template_part( 'templates/top', 'section' ); ?>

	<section class="blog-section">

		<div class="row">

			<?php get_sidebar( 'blog' ); ?>
	
		    <main id="main" class="blog-section__main small-12 large-8 medium-6 small-order-1 medium-order-2 columns" role="main">
		    
				<div class="news-feed">
					<h2 class="news-feed__heading h3"><?php echo __('Articles and blog posts'); ?></h2>
				    <?php
				    
				    // Fetch news posts
				    $posts = get_news_posts([
				    	'posts_per_page' => NEWS_POSTS_PER_PAGE
				    ]);

				    if ($posts->have_posts()) : while ($posts->have_posts()) : $posts->the_post();

						get_template_part( 'templates/loop', 'news' );
					    
					endwhile;
					wp_reset_postdata();
					?>
				</div>
				
				<?php
				if( $posts->found_posts > $posts->post_count )
					echo '<a href="#" data-offset="' .  NEWS_POSTS_PER_PAGE . '" id="load-more-news" class="button button--primary"> <div class="news-button">' . __('Load more') . '</div> </button>'
				?>

<!-- 					<?php page_navi(); ?> -->
					
				<?php else : ?>
											
					<?php get_template_part( 'templates/content', 'missing' ); ?>
						
				<?php endif; ?>
																								
		    </main> <!-- end #main -->

		</div> <!-- end .row -->

	</section> <!-- end .blog -->

	<?php 
		
		global $post;

		$qo = get_queried_object();

		$post->ID = $qo->ID;

		get_template_part('templates/flexible-content'); 

	?>

<?php get_footer(); ?>

1 个答案:

答案 0 :(得分:0)

posts_per_page参数设置要返回的帖子数。在您的代码中,将其设置为常量NEWS_POSTS_PER_PAGE

$posts = get_news_posts([
    'posts_per_page' => NEWS_POSTS_PER_PAGE
]);

get_news_posts不是本机WP函数,因此我认为它是在您正在使用的自定义主题或插件中使用的,并且假定主题/插件具有更改NEWS_POSTS_PER_PAGE的值的设置,因此您确实不应该更改代码。

更改此设置的正确方法是查找并更改该设置,以便将其应用于插件的每次使用。但是,如果您真的需要在代码中执行此操作,则可以为posts_per_page设置其他值,例如

$posts = get_news_posts([
    'posts_per_page' => 5
]);

但是,直接更改代码可能会导致其他问题,如果不是您自己的主题,则更改将在更新时被覆盖,因此请先在主题或插件中查找设置!