可以添加第一个和最新的帖子链接吗?

时间:2011-03-20 作者:janoChen

我使用以下代码在一个页面中显示一篇文章(博客页面最多显示一篇文章):

<?php
/**
 * Template Name: Front Page
 * @package WordPress
 * @subpackage Prominent
 * @since Prominent 1.0
 */
get_header(); ?>
<div id="tagline">
    <div class="container">
    </div><!-- .container -->
</div><!-- #tagline -->
<div id="content">
    <div class="container">
        <div id="mainbar">
            <?php while ( have_posts() ) : the_post(); ?>
                <div class="content-block-2">
                    <?php the_content(); ?>
                </div>
            <?php endwhile; ?>
            <?php /* Display navigation to next/previous pages when applicable */ ?>
            <?php if (  $wp_query->max_num_pages > 1 ) : ?>
                <?php next_posts_link( __( \'&larr; Older posts\', \'twentyten\' ) ); ?>
                <?php previous_posts_link( __( \'Newer posts &rarr;\', \'twentyten\' ) ); ?>
            <?php endif; ?>
        </div><!-- #mainbar -->
    </div><!-- .container -->
</div><!-- #content-bottom -->
<?php get_footer(); ?>
所以现在我在头版找到了上一个和下一个链接。我想知道是否可以添加第一个和最新的帖子链接?

EDIT:

例如,我所说的第一篇和最新的帖子,

因为我只允许每页一篇文章,所以只会显示一篇文章。

我想在下面的例子中找到1号和8号帖子的链接:

1 2 3 4 5 6 78

2 个回复
SO网友:fuxia

你需要的是$GLOBALS[\'wp_query\']->max_num_pagesget_pagenum_link(). 那么你只需要比较一下get_query_var( \'paged\' ) 具有max_num_pages 如果它们不相等,则创建链接:

/**
 * Link to last page of a paged archive.
 *
 * @param  string $text Link text
 * @return string Nothing if we are on the last page, a link otherwise.
 */
function t5_get_last_posts_link( $text = \'Last Posts\' )
{
    global $wp_query;

    if ( // something is very wrong
        ! isset ( $wp_query->max_num_pages )
        // there is just one page
        or 1 == $last = $wp_query->max_num_pages
        // we are already on the last page
        or get_query_var( \'paged\' ) == $last
    )
    {
        return \'\';
    }

    return sprintf( \'<a href="%1$s">%2$s</a>\', get_pagenum_link( $last ), $text );
}

/**
 * Link to the first page of a paged archive.
 *
 * @param  string $text Link text
 * @return string Nothing if we are on the first page, a link otherwise.
 */
function t5_get_first_posts_link( $text = \'First Posts\' )
{
    global $wp_query;

    if ( // something is very wrong
        ! isset ( $wp_query->max_num_pages )
        // there is just one page
        or 1 == $wp_query->max_num_pages
        // we are already on the first page
        or 2 > (int) get_query_var( \'paged\' )
    )
    {
        return \'\';
    }

    return sprintf( \'<a href="%1$s">%2$s</a>\', get_pagenum_link( 1 ), $text );
}

使用

print t5_get_first_posts_link( \'Newest\' );
print t5_get_last_posts_link( \'Oldest\' );

输出

enter image description here

SO网友:its_me

看起来您需要的是“分页”。安装WP-PageNavi 插件,并将其添加到模板文件中(index.php、archive.php等-以相关者为准):

<?php wp_pagenavi(); ?>
插件的设置不言而喻。(提示!%PAGE_NUMBER%)

结束

相关推荐

Posts wont expire

我在安排帖子自动过期(要么删除,要么起草)方面遇到了一些麻烦,我尝试过的每个插件都没有做任何事情,当它达到预定时间时,什么都没有发生,这让我觉得这可能是我一直忽视的一件简单的事情。。我想我可能对wp-cron有问题,但我似乎在通过wordPress设置未来的发布日期方面没有任何问题。我运行了最新版本的Wordpress,并设置了多个站点。所有插件都是目前可用的最新版本。有人有什么想法吗??我没有东西可以尝试了。。。提前感谢塔夫芝