2017-04-16 48 views
3

我試圖改變HTML結構和CSS樣式在主WP_Query第4個職位的archive.php不同的HTML/CSS的前4個職位在同一個查詢中的WordPress

我這樣做簡單的事情,我檢查了全球$wp_query變量。

if (have_posts()) : 

    if(4 > $wp_query->current_post) : 
    the_title(); 
    endif; 

    while (have_posts()) : the_post(); 

    get_template_part('content', get_post_format()); 

    endwhile; 

    else : 

    get_template_part('no-results', 'archive'); 

endif; 

這工作得很好,在查詢中的第4個職位獲得顯示在任何HTML/CSS我的get_template_part()之前適用於他們被要求收回。

問題是,當我去到下一個頁面在分頁中,會顯示一組不同的4個帖子。分頁中第二頁的4個新帖子。

我不想那樣。我希望第一頁上顯示的相同4個帖子在我轉到下一頁或上一頁時繼續顯示。我需要給前4個帖子一個不同的HTML結構,而不僅僅是CSS樣式,我需要它們在整個分頁中保持不變。

我試着改變主要查詢與pre_get_posts和使用offset但這給了我一套問題在主題和管理面板,我決定反對它。

我該怎麼做到這一點?

編輯我在這個問題第一次嘗試做第二次查詢,並離開主查詢完好,但隨後我就無法檢查post_count在第一個查詢,看看它是否大於4,因爲我總是隻顯示4 posts_per_page,這就是爲什麼我需要他們在同一個查詢中,因爲我要隱藏類別頁面上前4個帖子的帖子數量不超過4個,只在類別頁面上顯示有超過4個職位。

編輯2爲了使這個更簡單明白,如果它變得太雜亂。

IF CATEGORY (QUERY) HAS MORE THAN 4 POSTS 

    DISPLAY 4 POSTS WITH CUSTOM HTML/CSS 

    THEN GET TEMPLATE PART AND DISPLAY THE REST OF THE POSTS WHILE EXCLUDING THE FIRST 4 POSTS BECAUSE DUPLICATES 

ELSE 

    DISPLAY DEFAULT TEMPLATE PART 
+0

對於前四個支柱嘗試一個新的查詢爲循環來打破它的分頁/存檔循環:

回答

0

這裏有一個循環我用它來顯示前四個職位,它有可能需要讓你的分頁循環不受影響一個wp_reset_postdata。

<?php $rp_query = new WP_Query('showposts=4'); 
    if (have_posts()) : while ($rp_query->have_posts()) : $rp_query->the_post(); ?> 
    <?php endwhile; ?> 
    <?php wp_reset_postdata(); ?> 
    <? endif; ?> 
+0

我在這個問題上的第一次嘗試是做第二個查詢,並保留主要的一個完整,但我不能檢查第一個查詢中的'post_count',看它是否大於4,因爲我總是顯示只有4'posts_per_page'這就是爲什麼我需要他們在同一個查詢,因爲我要隱藏在沒有超過4個職位的類別頁面。 – Halnex

+0

這是一個艱難的! –

相關問題