Я хотел бы компенсировать мои сообщения на главной странице на 5. У меня есть виджет наверху, который показывает первые 5 уже.WordPress офсетные сообщения на главной странице
Я использую это в своих функциях.php, чтобы получить смещение. и это работает. проблема заключается в том, что виджет больше не печатает сообщения с самого начала. Весь код ниже
add_action('pre_get_posts', 'myprefix_query_offset', 1);
function myprefix_query_offset(&$query) {
//Before anything else, make sure this is the right query...
if (!$query->is_home()) {
return;
}
//First, define your desired offset...
$offset = 5;
//Next, determine how many posts per page you want (we'll use WordPress's settings)
$ppp = get_option('posts_per_page');
//Next, detect and handle pagination...
if ($query->is_paged) {
//Manually determine page query offset (offset + current page (minus one) x posts per page)
$page_offset = $offset + (($query->query_vars['paged'] - 1) * $ppp);
//Apply adjust page offset
$query->set('offset', $page_offset);
} else {
//This is the first page. Just use the offset...
$query->set('offset', $offset);
}
}
виджета использует это, и когда он делает, он передает обратно первые 5 компенсирующего набора данных. и он использует переменную get_featured_post
.
$get_featured_posts = new WP_Query(array(
'posts_per_page' => 5,
'post_type' => 'post',
'ignore_sticky_posts' => true
)
);
Любая помощь будет оценена по достоинству.
Спасибо.