Как компенсировать последние 3 поста в Бытие - Eleven40 pro Theme

Как мне выйти из цикла в Бытие. Я использую Eleven40 Pro, и это home.php

//* Add Genesis grid loop
    remove_action( 'genesis_loop', 'genesis_do_loop' );
    add_action( 'genesis_loop', 'eleven40_grid_loop_helper' );
    function eleven40_grid_loop_helper() {

    if ( function_exists( 'genesis_grid_loop' ) ) {
    genesis_grid_loop( array(
          'features' => 1,
          'feature_image_size' => 0,
          'feature_image_class' => 'alignleft post-image',
          'feature_content_limit' => 0,
          'grid_image_size' => 'grid-featured',
          'grid_image_class' => 'grid-featured',
          'grid_content_limit' => 250,
          'more' => __( '[Continue reading]', 'eleven40' ),
           ) );
           } else {
           genesis_standard_loop();
           }

}

// * Запустить цикл Genesis genesis();

Я просто хочу компенсировать первые три поста. Я не хочу показывать последние 3 сообщения. Пожалуйста, помогите показать мне, как это сделать. Существует также кодовое имя loop.php, которое я нашел в lib/structure/loop.php

1 ответ

Недавно я столкнулся с подобной проблемой и написал учебник о том, как компенсировать ваши посты и поддерживать нумерацию страниц в Genesis Framework. Посмотрите - http://www.steckinsights.com/offset-posts-genesis-framework-without-losing-pagination/

Основываясь на руководстве, которое подробно объяснит это, чтобы вы могли настроить решение для вашей конкретной ситуации, вот код, который я бы предложил разместить в вашем файле home.php (может быть помещен после кода, предоставленного в исходном вопросе):

function myprefix_query_offset(&$query) {

if ( ! $query->is_main_query() ) {
    return;
}

$offset = 1 ;

$ppp = get_option('posts_per_page');

if ( $query->is_paged ) {

    $page_offset = $offset + ( ($query->query_vars['paged']-1) * $ppp );

    $query->set('offset', $page_offset );

}
else {

    $query->set('offset',$offset);

}
}
add_action('pre_get_posts', 'myprefix_query_offset', 1 );

add_filter('found_posts', 'myprefix_adjust_offset_pagination', 1, 2 );
function myprefix_adjust_offset_pagination($found_posts, $query) {

    $offset = 1;

    if ( $query->is_posts_page ) {
        return $found_posts - $offset;
    }
    return $found_posts;
}
Другие вопросы по тегам