janochen
  • 0
Мастер

Можно ли добавить ссылку на первое и последнее сообщение?

  • 0

Я использую следующий код, чтобы показать один пост на странице (показ страниц блога не более, чем 1 пост):

<?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(); ?>

Так что теперь у меня есть предыдущая и следующая ссылка на моей первой странице. Я хотел бы знать, можно ли добавить ссылку на первое и последнее сообщения?

РЕДАКТИРОВАТЬ:

Под первыми и последними сообщениями я подразумеваю, например,

Поскольку я разрешаю только одно сообщение на странице, будет показано только одно сообщение.

Я бы хотел ссылку на пост номер 1 и 8 в примере ниже:

1 2 3 4 5 6 7 8

Share
  1. Определить first и latest разместить ссылки? На что именно это может быть ссылка?

    • 0
  2. Что вам нужно, так это $GLOBALS['wp_query']->max_num_pages и get_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' );
    

    Выход

    введите описание изображения здесь

    • 0
  3. Похоже, вам нужна «разбивка на страницы». Установите плагин WP-PageNavi и добавьте его в файл шаблона (index.php, archive.php и т. д. — в зависимости от того, что применимо):

    <?php wp_pagenavi(); ?>
    

    Настройки плагина говорят сами за себя. (СОВЕТ! %PAGE_NUMBER% )

    • 0

Оставить ответ

You must login to add an answer.