NEXT_POSTS_LINK和PREVICE_POSTS_LINK问题

时间:2012-03-15 作者:byronyasgur

下面是作者的代码。php文件。问题是next_posts_linkprevious_posts_link 仅根据相关作者在博客中撰写的帖子数量生成链接,而不是根据查询中的帖子数量(包括页面和事件)生成链接。我使用WP\\u Query添加了推荐的自定义帖子类型“events”here. 我发现这种行为很奇怪,因为页面显示的是查询结果,但previous/next_posts_link\'s 正在做完全不同的事情。有人能看到我的错误吗?这是WordPress的问题吗。

<?php get_header(); 
// add evemts post type to query          
$query = new WP_Query( array( 
  \'post_type\' => array( \'post\', \'page\', \'events\' ) 
  ));

  if($query->have_posts()) : ?>
  <h2 class="title">Posted by : author </h2>
   <div id="main">
        <div id="content">                                  
            <?php while($query->have_posts()) : $query->the_post(); ?>        
            <div class="archive-post" id="<?php the_ID(); ?>">                  
                <div class="blog-entry">
                <h3 class="blog-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>                                   
            <div class="entry-meta">Entry meta here</div>
                    <?php the_excerpt(); ?>
                <div class="entry-utility">                                                                                                
              <?php edit_post_link( \'Edit\', \'<span class="edit-link">\', \'</span>\' ); ?>
            </div>
          </div>                  
            </div> <!-- .post -->            
            <?php endwhile; endif; ?>                         


          <!-- navigation -->
            <div class="navigation clear">
                <div class="alignleft"><?php next_posts_link(\'&laquo; Older Entries\') ?></div>
                <div class="alignright"><?php previous_posts_link(\'Newer Entries &raquo;\') ?></div>
            </div>


    </div>  <!-- end #content -->        
  <?php get_sidebar(); ?>    
  </div><!-- #main -->
<?php get_footer(); ?>
EDIT : 我刚刚发现this 页面详细说明了问题,但在实现解决方案后,虽然链接现在显示的内容确实有所改进,但出于某种原因,它们仍将我指向404页面

2 个回复
最合适的回答,由SO网友:byronyasgur 整理而成

我首先通过实施the solution 我在上面的编辑中进行了描述,然后通过添加下面的代码(来自this question ) 至功能。php。顺便说一下,我在最后一页的404上仍然有一个问题seemingly 是由于将“posts\\u per\\u page”设置为小于WordPress设置中的值,我很乐意自己使用WordPress设置,所以我将其从查询中删除。

    function custom_author_archive( &$query ) {
    if ($query->is_author)
        $query->set( \'post_type\', array( \'post\', \'page\', \'events\' ) );
    }
    add_action( \'pre_get_posts\', \'custom_author_archive\' );

SO网友:Ryan

使用自定义帖子类型时,我通过使用以下代码解决了这个问题。当然,您需要输入HTML,以了解它在站点上的显示方式。

<?php 

    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query(\'\'); // Enter you query here

 ?>

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

// Post body

<?php endwhile; ?>

<?php previous_posts_link(\'Previous page\'); ?>
<?php next_posts_link(\'Next page\'); ?>

<?php $wp_query = null; $wp_query = $temp;?>

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W

NEXT_POSTS_LINK和PREVICE_POSTS_LINK问题 - 小码农CODE - 行之有效找到问题解决它

NEXT_POSTS_LINK和PREVICE_POSTS_LINK问题

时间:2012-03-15 作者:byronyasgur

下面是作者的代码。php文件。问题是next_posts_linkprevious_posts_link 仅根据相关作者在博客中撰写的帖子数量生成链接,而不是根据查询中的帖子数量(包括页面和事件)生成链接。我使用WP\\u Query添加了推荐的自定义帖子类型“events”here. 我发现这种行为很奇怪,因为页面显示的是查询结果,但previous/next_posts_link\'s 正在做完全不同的事情。有人能看到我的错误吗?这是WordPress的问题吗。

<?php get_header(); 
// add evemts post type to query          
$query = new WP_Query( array( 
  \'post_type\' => array( \'post\', \'page\', \'events\' ) 
  ));

  if($query->have_posts()) : ?>
  <h2 class="title">Posted by : author </h2>
   <div id="main">
        <div id="content">                                  
            <?php while($query->have_posts()) : $query->the_post(); ?>        
            <div class="archive-post" id="<?php the_ID(); ?>">                  
                <div class="blog-entry">
                <h3 class="blog-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>                                   
            <div class="entry-meta">Entry meta here</div>
                    <?php the_excerpt(); ?>
                <div class="entry-utility">                                                                                                
              <?php edit_post_link( \'Edit\', \'<span class="edit-link">\', \'</span>\' ); ?>
            </div>
          </div>                  
            </div> <!-- .post -->            
            <?php endwhile; endif; ?>                         


          <!-- navigation -->
            <div class="navigation clear">
                <div class="alignleft"><?php next_posts_link(\'&laquo; Older Entries\') ?></div>
                <div class="alignright"><?php previous_posts_link(\'Newer Entries &raquo;\') ?></div>
            </div>


    </div>  <!-- end #content -->        
  <?php get_sidebar(); ?>    
  </div><!-- #main -->
<?php get_footer(); ?>
EDIT : 我刚刚发现this 页面详细说明了问题,但在实现解决方案后,虽然链接现在显示的内容确实有所改进,但出于某种原因,它们仍将我指向404页面

2 个回复
最合适的回答,由SO网友:byronyasgur 整理而成

我首先通过实施the solution 我在上面的编辑中进行了描述,然后通过添加下面的代码(来自this question ) 至功能。php。顺便说一下,我在最后一页的404上仍然有一个问题seemingly 是由于将“posts\\u per\\u page”设置为小于WordPress设置中的值,我很乐意自己使用WordPress设置,所以我将其从查询中删除。

    function custom_author_archive( &$query ) {
    if ($query->is_author)
        $query->set( \'post_type\', array( \'post\', \'page\', \'events\' ) );
    }
    add_action( \'pre_get_posts\', \'custom_author_archive\' );

SO网友:Ryan

使用自定义帖子类型时,我通过使用以下代码解决了这个问题。当然,您需要输入HTML,以了解它在站点上的显示方式。

<?php 

    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query(\'\'); // Enter you query here

 ?>

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

// Post body

<?php endwhile; ?>

<?php previous_posts_link(\'Previous page\'); ?>
<?php next_posts_link(\'Next page\'); ?>

<?php $wp_query = null; $wp_query = $temp;?>

相关推荐

Display an archives name

我想显示当前存档文件的名称,因此对于下面的url,我可以这样做<h1><?php echo \"answer\" ?></h1> 输出如下内容<h1>News</h1> 或者更好<h1>News: supplierName</h1> http://www.site.com/suppliers/news/?supplierstax=supplierName