Wp-discourse-shortcodes plugin

Также есть ошибка с вложенными категориями, которые не отображаются. Показываются только темы в основной категории.
Смотрите пример ниже: Общая, но нет Общая >> Новости и события

И снова с плитками и всеми другими атрибутами шорткодов, удалёнными..

Привет, Райан. Ни предпросмотры изображений тем, ни их названия не являются функциями плагина. Однако вы можете использовать эти фильтры, чтобы применить собственное форматирование и, возможно, добавить эти элементы.

Чтобы полностью переопределить вывод HTML, используйте следующие два фильтра (то есть их аналоги add_filter):

// Верните false, чтобы использовать собственное форматирование
apply_filters( 'wpds_use_plugin_topiclist_formatting', true );

// Верните собственный вывод HTML из данных discourse_topics
apply_filters( 'wpds_after_topiclist_formatting', $output, $discourse_topics, $args );

Или добавьте дополнительные элементы в существующий HTML:

apply_filters( 'wpds_topiclist_above_header', $output, $topic, $category, $poster_avatar_url, $args );
apply_filters( 'wpds_topiclist_above_footer', $output, $topic, $category, $poster_avatar_url, $args );
apply_filters( 'wpds_topiclist_avatar', $avatar_image, esc_url_raw( $poster_avatar_url ) );
apply_filters( 'wpds_topiclist_below_footer', $output, $topic, $category, $args );

Извините, вы имеете в виду, что тема из вложенной категории отображается, но не отображается её значок категории?

1 лайк

Большое спасибо, Ангус. Это полезно.

Верно. Если тема находится во вложенной категории, значок не отображается. На скриншоте ниже показано отсутствующее изображение значка. Это тема внутри вложенной категории «Общее» >> «Новости и события». Если бы я изменил категорию этой темы на родительскую категорию «Общее», значок отобразился бы, как у второй темы ниже.

1 лайк

Спасибо за уточнение, Райан. На следующей неделе я изучу эту проблему и свяжусь с вами.

1 лайк

Спасибо. К слову, я добавил атрибут «реальное имя» для замены имен пользователей и опубликовал свои изменения в этом репозитории. Я довольно новичок в Git, поэтому извините, что не использовал правильные каналы коммита, но изменения там есть, если они вдруг кому-то пригодятся.

2 лайка

Главная проблема этого плагина по-прежнему заключается в невозможности включения/исключения по категориям. В частном форуме на основе членства вы либо видите все категории, либо не видите ни одной, что означает, что нет способа исключить темы сотрудников из показа широкой базе участников.

Однако кажется, что простым обходным решением может быть закомментирование AJAX-запроса и полное использование вебхука. У нас настроены триггеры для исключения категории сотрудников в вебхуке..

Это работает для временной блокировки новых обсуждений сотрудников до тех пор, пока не будет выполнен AJAX-вызов.

Так что, может быть, просто закомментировать AJAX-вызов?..

Не упускаю ли я что-то, что сделало бы этот подход нецелесообразным?

1 лайк

Возвращаясь к теме

:tada: С радостью сообщаю, что плагин WP Discourse Shortcodes теперь поддерживает (экспериментальную) функцию фильтрации списка тем. :confetti_ball:

Помимо source="latest" или source="top", теперь можно использовать source="filter" и помещать запрос фильтрации в параметр q, например:

[discourse_topics source="filter" q="category:general,site-feedback"]

Не забудьте сначала включить настройку experimental_topics_filter!

Также я исправил несколько ошибок:

  • полностью переработано кэширование (это также устраняет необходимость наличия атрибута id)
  • имена пользователей не отображались на форумах с языком, отличным от английского
  • добавлен фильтр по категориям для latest-AJAX

Плагин всё ещё отсутствует в репозитории плагинов WordPress, поэтому его следует клонировать через git из репозитория:

cd wp-content/plugins
git clone https://github.com/communiteq/wp-discourse-shortcodes

Или, в качестве альтернативы, загрузите этот ZIP-файл для установки.
wp-discourse-shortcodes-0.40.zip (67.6 КБ)

5 лайков

Это потрясающе! Спасибо за отличную работу, теперь открывается целый новый набор возможностей :heart:

1 лайк

Пытаюсь разобраться, но не могу найти информацию о том, является ли это текущей возможностью.

– Я хочу отображать ПОСЛЕДНИЕ СООБЩЕНИЯ во всех/любой категории и теме. —

Информация, которую я хочу отображать:

  • Имя пользователя / Дата публикации
  • Заголовок темы
  • Заголовок категории
  • Краткое описание (45 символов)
  • Лайки (и, возможно, ответы?)

Кто-нибудь знает, возможно ли это?

Плагин использует то, что предоставляет Discourse, поэтому продолжите этот вопрос в теме вашего другого сообщения здесь.

Чуть запоздал с ответом, но спасибо!

1 лайк