Показать все удаленные темы bbpress WordPress?
Подскажите как на странице вывести все удаленные темы bbpress WordPress то есть все темы из корзины.
Их очень много и нужно повторно модерировать пользователям или модераторам.
Дополнительно:
Такие темы после попадание в корзину меняют урл становятся примерно так https://site.ru/?post_type=topic&p=96029&view=all и просматривать их могут только модераторы bbpress вот как вывести все эти темы (удаленные) на страницу
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Темы bbPress — это записи типа
topic. Когда они попадают в корзину, их статус становитсяtrash. Вывести их можно отдельным WP_Query, но смотреть такие темы должны только пользователи с правами модерации, иначе вы случайно откроете удалённый контент публично.Пример shortcode для страницы модератора:
add_shortcode('bbp_trashed_topics', function () { if (! current_user_can('moderate')) { return '<p>Недостаточно прав.</p>'; } $query = new WP_Query([ 'post_type' => bbp_get_topic_post_type(), 'post_status' => 'trash', 'posts_per_page' => 50, 'orderby' => 'modified', 'order' => 'DESC', ]); if (! $query->have_posts()) { return '<p>Удалённых тем нет.</p>'; } ob_start(); echo '<ul class="trashed-bbp-topics">'; while ($query->have_posts()) { $query->the_post(); $edit_link = get_edit_post_link(get_the_ID()); echo '<li>'; echo '<a href="' . esc_url($edit_link) . '">' . esc_html(get_the_title()) . '</a>'; echo ' <small>' . esc_html(get_the_modified_date()) . '</small>'; echo '</li>'; } echo '</ul>'; wp_reset_postdata(); return ob_get_clean(); });
После этого добавьте на закрытую страницу shortcode:
[bbp_trashed_topics]
Если тем очень много, не выводите всё сразу: делайте пагинацию по 50-100 записей. Иначе страница модерации может подвесить сайт.
Для восстановления лучше вести модераторов в админку по
get_edit_post_link(), а не делать публичную кнопку восстановления без nonce. Операции восстановления/удаления должны быть защищены правами и nonce-проверкой.Если нужно именно просматривать удалённую тему на фронте, bbPress часто использует URL с
?post_type=topic&p=ID&view=all, но это поведение зависит от прав пользователя. Надёжнее для модерации использовать список с переходом в админку.