Я хочу создать страницу, на которой будут отображаться все комментарии, независимо от того, к какому сообщению они прикреплены. Я также хочу, чтобы эта страница была разбита на страницы, так как она может иметь более 10 000 комментариев.
Я не уверен, как это сделать, но вот некоторые из функций, которые я изучил до сих пор:
get_comments
– еслиpost_id
не передано, возвращаются все комментарии. Однако я не вижу способа разбить их на страницы (есть вариантыoffset
иnumber
, с которыми можно повозиться, но это очень утомительно делать вручную).wp_list_comments
— документация по этому вопросу довольно плохая, но исходный код предполагает, что мы можем перебрать все комментарии если используется вместе сget_comments
, путем передачи массиваget_comments
в качестве второго аргумента. Это, однако, по-прежнему будет использоватьget_comments
, чтобы на самом деле... ну, получить комментарии, и, похоже, нет способа разбить это на страницы.previous_comments_link
&next_comments_link
— похоже, они работают только в сочетании сwp_list_comments
(без второго аргумента).paginate_comments_links
— также похоже, что это работает только сwp_list_comments
(без второго аргумента).
Что я пробовал:
Просто используя аргумент
number
вget_comments
:$comments = get_comments(array( 'status' => 'approve', 'number' => '2' )); wp_list_comments(array( 'callback' => 'my_rendering_function' ), $comments); paginate_comments_links();
Это не отображает никаких ссылок на страницы.
Метод, предлагаемый здесь: Показать последние комментарии на странице с нумерацией страниц< /сильный>а>
$comments = get_comments(array( 'status' => 'approve' )); wp_list_comments('per_page=2', $comments); paginate_comments_links();
Это тоже не работает (показывает первые 2 комментария, но без разбиения на страницы). Кроме того, я съёживаюсь, когда
get_comments
загружаю в память все комментарии.
Вопрос:
Как разбить на страницы все комментарии?
P.S. Я использую WordPress 3.4.1 и PHP 5.3.2.
offset
иnumber
, чтобы получить необходимые комментарии для отображения. Взгляните на плагин SEO pager, и вы можете получить там функциональность разбивки на страницы, иначе используйте пользовательские циклы WordPress для достижения вашей функциональности. - person Umesh Awasthi   schedule 03.09.2012