2015-01-31 94 views
0

有沒有辦法讓第一頁(Wordpress)和其他所有其他頁面的帖子數量不同?這是因爲只有我在第一頁上的第一篇文章和2篇普通文章一樣大。因此,在第一頁上張貼較少的帖子會很好。 任何想法?Wordpress循環中第一頁上的帖子數量不同

這是我到目前爲止有:

<?php 
if (get_query_var('paged')) { $paged = get_query_var('paged'); } 
elseif (get_query_var('page')) { $paged = get_query_var('page'); } 
else { $paged = 1; } 
?> 

<?php if ($paged == 1) : ?> 
<?php query_posts('posts_per_page=11&paged=' . $paged); ?> 
<?php else : ?> 
<?php query_posts('posts_per_page=10&paged=' . $paged); ?> 
<?php endif;?> 

<?php if (have_posts()) : ?> 
<?php $postcount = 0; ?> 
<?php while (have_posts()) : the_post(); ?> 
<?php $postcount++; ?> 

<?php if ($postcount == 1 && $paged == 1) : // if this is the first post & first page ?> 
<div class="large-10"> 
<?php the_post_thumbnail('large'); ?> 
</div> 

    <?php else : //if this is NOT the first post ?>   
    <div class="large-6 columns"> 
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
    <div class="portfolio"> 
     <a href="<?php the_permalink(); ?>"> 
     <?php the_post_thumbnail('large'); ?> 
     <span><h6><?php the_title(); ?></h6></span> 
     </a> 
    </div> 

    </article> 
    </div> 

<?php endwhile; ?> 
<?php endif; ?> 

希望有人能幫助我們!

乾杯

+0

你到目前爲止試過了什麼?我沒有看到上面代碼的哪一部分打算這樣做。 – ASGM 2015-01-31 22:00:48

+0

對不起,現在它在那裏。似乎工作,但不是很帥。 – Codigit 2015-01-31 22:40:21

+0

我明白了。您是否嘗試過Google搜索?似乎有一堆「WordPress的第一頁上不同數量的帖子」的結果?包括這可能會有所幫助:http://wordpress.stackexchange.com/questions/155758/have-different-number-of-posts-on-first-page – ASGM 2015-01-31 23:24:11

回答

1

這對我有效!

function tax_and_offset_homepage($query) { 
if ($query->is_home() && $query->is_main_query() && !is_admin()) { 
$query->set('post_type', 'my_post_type'); 
$query->set('post_status', 'publish'); 
$query->set('ignore_sticky_posts', '-1'); 
$tax_query = array(
    array(
     'taxonomy' => 'my_taxo', 
     'field' => 'slug', 
     'terms' => array('slug1', 'slug2', 'slug3') 
    ) 
); 
$query->set('tax_query', $tax_query); 
$ppp = get_option('posts_per_page'); 
$offset = 1; 
if (!$query->is_paged()) { 
    $query->set('posts_per_page',$offset + $ppp); 
} else { 
    $offset = $offset + (($query->query_vars['paged']-1) * $ppp); 
    $query->set('posts_per_page',$ppp); 
    $query->set('offset',$offset); 
} 
} 
} 
add_action('pre_get_posts','tax_and_offset_homepage'); 

function homepage_offset_pagination($found_posts, $query) { 
$offset = 1; 

if($query->is_home() && $query->is_main_query()) { 
    $found_posts = $found_posts - $offset; 
} 
return $found_posts; 
} 
add_filter('found_posts', 'homepage_offset_pagination', 10, 2); 
+1

我以爲代碼看起來非常非常熟悉:-) – 2015-05-26 11:41:46

+0

是的,我來到這個老問題,想包裝它,並分享我用來解決我的問題,代碼的和平來自共享鏈接(http:/// wordpress.stackexchange.com/questions/155758/have-different-number-of-posts-on-first-page)顯然是;) – Codigit 2015-05-27 12:01:17

+0

加一個用於發佈和關閉此主題。已經upvoted :-) – 2015-05-27 12:37:04

相關問題