Показать все липкие сообщения, с разбивкой на страницы

Попытка получить настраиваемую ссылку администратора для настраиваемого типа сообщения. Мне удалось добавить ссылку, чтобы показать все «липкие» сообщения рядом с обычными «Все», «Опубликованные», «Корзина» и т. Д., Но фактический запрос не работает так, как мне бы хотелось.

В pre_get_posts я пытаюсь изменить запрос, чтобы сделать следующее: – показывать только липкие сообщения – уважать posts_per_page и настройки разбивки на страницы

Если я попробую:

$query->set('post__in', get_option('sticky_posts')); $query->set('posts_per_page', 5); 

… Я вижу все липкие сообщения, но без разбивки на страницы. Имеет ли значение «posts__in» значение posts_per_page игнорируется?

Спасибо за информацию. Отбросил «posts_per_page», но это не повлияло. Моя панель отладки показывает:

 SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.ID IN (2382,2358,2334,2331,2301,2298,2280,2262,2220,2226,2193,2157,2163,2136,2130,2109,2100,2084,2072,2026,2020,1961,1934,1846,1834,1756,1738,1709,1688,1552,1543,1498,1488,1482,1476,1438,1432,1412,1406,1400,1394,1391,1388,1358,1340,1319,1285,1282,1269,1227,1212,2621,2674,2659,3300,3313,3414,3560,3314) AND wp_posts.post_type = 'ad_listing' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC 

Основываясь на этом сообщении , я сделал этот тест и продолжаю работать:

 $sticky = get_option( 'sticky_posts' ); $ppp = get_option('posts_per_page'); if (!is_paged()) { $custom_offset = 0; } else { $custom_offset = $ppp*($paged-1); } $args = array( 'numberposts' => $ppp, 'offset' => $custom_offset, 'post__in' => $sticky ); $posts_data = get_posts( $args ); $pd = count( $posts_data ); if ( count( $posts_data ) > 0 ) { echo '<ul>'; foreach ( $posts_data as $post ) { echo '<li><a href="'.get_permalink( $post->ID ).'">'.$post->post_title.'</a></li>'; } echo '</ul>'; } if ( $pd != 1 ) { next_posts_link( __( '<span class="meta-nav">&laquo;</span> P&aacute;gina anterior ', 'twentyten' ) ); } previous_posts_link( __( 'Pr&oacute;xima p&aacute;gina <span class="meta-nav">&raquo;</span>', 'twentyten' ) ); 

Я тестировал его с параметром чтения, равным 2 и 4, и кажется, что это нормально. Посмотрите, подходит ли оно вашим потребностям.