gpt4 book ai didi

php - Wordpress 同一查询中前 4 个帖子的不同 html/css

转载 作者:太空宇宙 更新时间:2023-11-04 13:27:52 26 4
gpt4 key购买 nike

我正在尝试更改 archive.php 中主要 WP_Query 中前 4 个帖子的 HTML 结构和 CSS 样式

我正在做这件简单的事情,我检查了全局 $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;

这很好用,在调用 get_template_part() 之前,查询中的前 4 个帖子会以我应用到它们的任何 HTML/CSS 显示。

问题是当我进入分页的下一页时,显示了一组不同的 4 个帖子。分页第二页的4个新帖子。

我不想这样。我希望出现在第一页上的相同 4 个帖子在我转到下一页或上一页时继续出现。我需要为前 4 个帖子提供不同的 HTML 结构,而不仅仅是 CSS 样式,我需要它们在整个分页过程中保持不变。

我尝试使用 pre_get_postsoffset 更改主要查询,但这给了我一系列主题和管理面板问题,我决定反对它。

我怎样才能做到这一点?

编辑 我在这个问题上的第一次尝试是进行第二次查询并保持主查询不变,但是我将无法检查 post_count首先查询它是否大于 4,因为我总是只显示 4 个 posts_per_page 这就是为什么我需要它们在同一个查询中,因为我要隐藏该类别的前 4 个帖子帖子数不超过 4 个的页面,并且仅在帖子数超过 4 个的类别页面上显示它们。

EDIT 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

最佳答案

这是我用来显示前四个帖子的循环,它有一个可能需要的 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; ?>

关于php - Wordpress 同一查询中前 4 个帖子的不同 html/css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43434011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com