@sergeyzotoff +7 (960) 065-01-01 sergeyzotoff@gmail.com Sergey Zotoff
По умолчанию WordPress выводит анонсы записей на странице отдельной рубрики в том количестве, которое указано в настройках: Настройки — Чтение — На страницах блога отображать не более...
На одном из клиентских сайтов возникла необходимость вывести другое количество анонсов записей. Связано это было с тем, что данная категория содержала ответы на задаваемые вопросы и на странице рубрики в качестве анонса отображалось все содержимое записи — вопрос и ответ на него, поэтому страница рубрики получалась очень длинной, необходимо было её сократить до 5-ти записей и желательно без применения плагинов.
В результате многочисленных экспериментов реализовать разное количество записей помог следующий фрагмент кода:
function custom_posts_per_page($query){ if(is_home()){ $query->set('posts_per_page',12); } if(is_search()){ $query->set('posts_per_page',-1); } if(is_archive()){ $query->set('posts_per_page',20); }//endif }//function //this adds the function above to the 'pre_get_posts' action add_action('pre_get_posts','custom_posts_per_page');
Строки 2, 3 задают условие, при котором на главной странице будет отображено 12 записей,
5, 6 выводят на старнице поиска все найденные записи (значение «-1»),
8, 9 выводят на странице архива 20 записей.
Этот фрагмен необходимо добавить в файл функций functions.php
Я видоизменил данный фрагмен под свои нужды:
function custom_posts_per_page($query){ if(is_search()){ $query->set('posts_per_page',-1); } if (is_category('faq')){ $query->set('posts_per_page',3); }//endif }//function //this adds the function above to the 'pre_get_posts' action add_action('pre_get_posts','custom_posts_per_page');
В строке 5 я создал условие, при котором на странице рубрики с наименованием «faq» будет отображено 3 записи.
Просто и быстро, а главное без плагинов!
* - обязательные поля
4 комментария