自定义后期存档-以不同于后续页面的方式显示第1页

时间:2018-04-30 作者:BlueTabby

我有一个自定义的发布后存档列表。

模板通常工作正常,但我正试图显示最近出版物的摘录(实际上是一个名为Abstract的自定义字段)。其余部分仅为标题/链接。

我想我可以用一个I++计数函数来完成,但每一页都会重新开始计数。

所以,我尝试在上面添加一个if-paged条件。模板仍然可以工作,但无法识别其第1页(我假设,否则我只是做错了)

相关代码如下

您将看到,我首先尝试将变量$abstract分配给循环外的自定义字段,然后在循环内回显它,如果它满足第1页和I=0的条件,否则理论上它将回显一个空变量。

我还尝试在循环中添加整个内容-我在这里同时包含了这两个内容,但实际上并没有同时包含这两个内容:

<?php $i = 0; ?>
<?php $paged = ( get_query_var(‘page’) ) ? get_query_var(‘page’) : 1;
    if($paged == 1 ) {
         $abstract = get_field(\'publication_abstract\'); 
    } else  { }

if (have_posts()) : while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?> publist-<?php echo $i; ?>" <?php post_class(); ?>>
<h1 class="main_title">
<a href="<?php echo get_permalink($post->ID); ?>">
<?php echo $post->post_title; ?></a></h1>

<div class="entry-content">
<?php $paged = ( get_query_var(‘page’) ) ? get_query_var(‘page’) : 1;
    if($paged == 1 ) {
         $abstract = get_field(\'publication_abstract\'); 
        if ($i == 0) { ?>
                <?php echo $abstract; ?>
                      <?php } } else { } ?> 

</div> 
</article> 
我想我可以对第一个页面进行自定义查询,然后显示其余页面,但我尽量不弄乱分页。

另一件事:我还添加了一个过滤功能-按类别、按日期等,不希望任何过滤结果显示摘录。因此,当你登陆页面时,最新的页面会显示摘录,但一旦你过滤,就没有了。可能的

1 个回复
SO网友:Orlando P.

听起来有可能。存档页有一个内置查询,如果您想筛选,可以为该类别创建一个模板,例如archive-{category}.php 或者,如果您要过滤更多的信息,如所述,您应该使用。

add_action( \'pre_get_posts\', \'my_change_sort_order\'); 

function my_change_sort_order($query){
    if(is_archive()):
       //Set the order ASC or DESC
       $query->set( \'order\', \'ASC\' );
    endif;    
};
循环时,可以修改输出。

if (have_posts()) : while ( have_posts() ) : the_post(); ?>

   <?php if($wp_query->current_post == 0): ?>
       //current_post is the index of the post within the loop
       // this will be your first post
       <?php echo $post->title ?>
       <?php echo get_field(\'publication_abstract\'); ?>
   <?php endif ?>

    //this will be all other posts
    //just the title no excerpt 
    <?php echo $post->title; ?>

<?php endwhile ?>

结束

相关推荐

自定义后期存档-以不同于后续页面的方式显示第1页 - 小码农CODE - 行之有效找到问题解决它

自定义后期存档-以不同于后续页面的方式显示第1页

时间:2018-04-30 作者:BlueTabby

我有一个自定义的发布后存档列表。

模板通常工作正常,但我正试图显示最近出版物的摘录(实际上是一个名为Abstract的自定义字段)。其余部分仅为标题/链接。

我想我可以用一个I++计数函数来完成,但每一页都会重新开始计数。

所以,我尝试在上面添加一个if-paged条件。模板仍然可以工作,但无法识别其第1页(我假设,否则我只是做错了)

相关代码如下

您将看到,我首先尝试将变量$abstract分配给循环外的自定义字段,然后在循环内回显它,如果它满足第1页和I=0的条件,否则理论上它将回显一个空变量。

我还尝试在循环中添加整个内容-我在这里同时包含了这两个内容,但实际上并没有同时包含这两个内容:

<?php $i = 0; ?>
<?php $paged = ( get_query_var(‘page’) ) ? get_query_var(‘page’) : 1;
    if($paged == 1 ) {
         $abstract = get_field(\'publication_abstract\'); 
    } else  { }

if (have_posts()) : while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?> publist-<?php echo $i; ?>" <?php post_class(); ?>>
<h1 class="main_title">
<a href="<?php echo get_permalink($post->ID); ?>">
<?php echo $post->post_title; ?></a></h1>

<div class="entry-content">
<?php $paged = ( get_query_var(‘page’) ) ? get_query_var(‘page’) : 1;
    if($paged == 1 ) {
         $abstract = get_field(\'publication_abstract\'); 
        if ($i == 0) { ?>
                <?php echo $abstract; ?>
                      <?php } } else { } ?> 

</div> 
</article> 
我想我可以对第一个页面进行自定义查询,然后显示其余页面,但我尽量不弄乱分页。

另一件事:我还添加了一个过滤功能-按类别、按日期等,不希望任何过滤结果显示摘录。因此,当你登陆页面时,最新的页面会显示摘录,但一旦你过滤,就没有了。可能的

1 个回复
SO网友:Orlando P.

听起来有可能。存档页有一个内置查询,如果您想筛选,可以为该类别创建一个模板,例如archive-{category}.php 或者,如果您要过滤更多的信息,如所述,您应该使用。

add_action( \'pre_get_posts\', \'my_change_sort_order\'); 

function my_change_sort_order($query){
    if(is_archive()):
       //Set the order ASC or DESC
       $query->set( \'order\', \'ASC\' );
    endif;    
};
循环时,可以修改输出。

if (have_posts()) : while ( have_posts() ) : the_post(); ?>

   <?php if($wp_query->current_post == 0): ?>
       //current_post is the index of the post within the loop
       // this will be your first post
       <?php echo $post->title ?>
       <?php echo get_field(\'publication_abstract\'); ?>
   <?php endif ?>

    //this will be all other posts
    //just the title no excerpt 
    <?php echo $post->title; ?>

<?php endwhile ?>

相关推荐