Intereting Posts
wp_insert_post_empty_content – проблемы с безопасностью, возвращая пользовательскую ошибку Значение cookie не может быть прочитано, пока я не войду в администратор WP get_template_directory_uri, похоже, не работает при определении WP_CONTENT_DIR Альтернатива file_get_contents () для операций с темой Заменить различные таблицы стилей, используя условия IE Скрыть комментарии к комментариям WP-e-commerce (gothopped) Файлы на иврите – где я могу их получить? Подпишитесь с другого сайта на тот же список BBPress Результаты поиска в WordPress search Почему функция wp_mail () не отправляет электронные письма и отображает «0» в ответе «Сеть» Chrome как выполнить некоторый код после публикации публикации в WordPress Получение веб-кликов на веб-сайте wordpress Часовая рутина без стрельбы (wp_schedule_event ()) Я использую get_posts неправильно? Разница между вызовом wp_enqueue_scripts для загрузки скриптов и стилей в пользовательскую тему

Как показать более 5 сообщений?

Я запускаю код, который показывает дочерние категории, и все записи в дочерних категориях. Но если в категории более 5 должностей, отображаются только 5 новейших.

Как я могу показать все или, по крайней мере, задать число, например 9 сообщений и т. Д.?

Мой код:

<?php $args = array( 'child_of' => 1 ); $categories = get_categories( $args ); foreach ($categories as $category) { echo '<li><a>'.$category->name.'</a>'; echo '<ul>'; foreach (get_posts('cat='.$category->term_id) as $post) { setup_postdata( $post ); echo '<li><a href="'.get_permalink($post->ID).'">'.get_the_title().'</a></li>'; } echo '</ul></li>'; } ?> 

Solutions Collecting From Web of "Как показать более 5 сообщений?"

Я думаю, вы могли бы использовать аргумент posts_per_page в своем запросе get_posts :

 $args = array( 'child_of' => 1 ); $categories = get_categories( $args ); foreach ($categories as $category) { echo '<li><a>'.$category->name.'</a>'; echo '<ul>'; $posts_args = array( 'posts_per_page' => 9, 'category' => $category->term_id ); foreach (get_posts($posts_args) as $post) { setup_postdata( $post ); echo '<li><a href="'.get_permalink($post->ID).'">'.get_the_title().'</a></li>'; } echo '</ul></li>'; } 

Вы должны использовать параметр post_per_page или numberposts для get_posts() . Параметр по умолчанию равен 5 , см. Источник , просто выберите значение, которое вы действительно хотите иметь в своем get_posts() и значение по умолчанию будет переопределено.

По умолчанию количество сообщений установлено в 5, поэтому вам нужно настроить его по своему вкусу. Если вы хотите показать все сообщения, то это -1 , а номер, который вы хотите в противном случае.

Вы также должны поместить функции из циклов (как во время второго foreach ), так что вот ваш код, оптимизированный:

 <?php $args = array( 'child_of' => 1, ); $categories = get_categories($args); if (count($categories)) { ?> <ul> <?php foreach ($categories as $category) { ?> <li><a><?php echo $category->name; ?></a> <ul> <?php $args = array( 'posts_per_page' => -1, // query ALL posts 'post_status' => 'publish', 'cat' => $category->term_id, ); $query = new WP_Query($args); while ($query->have_posts()) { $query->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php } wp_reset_postdata(); ?> </ul></li> <?php } ?> </ul> <?php } ?>