Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress中同一查询中前四篇文章的不同html/css_Php_Html_Css_Wordpress - Fatal编程技术网

Php Wordpress中同一查询中前四篇文章的不同html/css

Php Wordpress中同一查询中前四篇文章的不同html/css,php,html,css,wordpress,Php,Html,Css,Wordpress,我试图在archive.php 我在做这个简单的事情,我检查了全局$wp\u 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;

我试图在
archive.php

我在做这个简单的事情,我检查了全局
$wp\u 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\u template\u part()

问题是当我转到分页的下一页时,会显示一组不同的4篇文章。第二页的4篇新文章

我不想那样。我希望在我进入下一页或上一页时,第一页上出现的相同的4篇文章继续出现。我需要给前4篇文章一个不同的HTML结构,而不仅仅是CSS样式,我需要它们在整个分页过程中保持不变

我尝试使用
pre_get_posts
offset
更改主查询,但这给我的主题和管理面板带来了一系列问题,我决定不这样做

我怎样才能做到这一点


EDIT我解决这个问题的第一次尝试是进行第二次查询,并保持主查询不变,但是我无法在第一次查询中检查
post\u计数
,查看它是否大于4,因为我总是每页只显示4篇
posts\u
,这就是为什么我需要它们位于同一查询中,因为我将隐藏类别页面上不超过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

这里有一个我用来显示前四篇文章的循环,它有一个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; ?>

解决方案已经内置,可以作为插件使用。 请尝试Blog Designer PRO插件-

致以最良好的祝愿,
Alkesh

对于前四篇文章,尝试对该循环进行一个新的查询,以将其从分页/归档循环中分离出来:我对这个问题的第一次尝试是执行第二次查询并保留主查询,但这样我就无法检查第一次查询中的
post_count
以查看它是否大于4,因为我总是只显示4
posts\u per\u page
这就是为什么我需要它们在同一个查询中,因为我要将其隐藏在不超过4篇帖子的分类页面上。这是一个困难的问题!