Всем привет,
Я создал VUE SPA с использованием API Discourse для интеграции с WordPress и хотел бы узнать, есть ли способ отправить POST-запрос для обновления количества просмотров темы в Discourse, когда пользователь открывает тему на WordPress?
Всем привет,
Я создал VUE SPA с использованием API Discourse для интеграции с WordPress и хотел бы узнать, есть ли способ отправить POST-запрос для обновления количества просмотров темы в Discourse, когда пользователь открывает тему на WordPress?
Привет, Алекс,
Мне интересно узнать об этом немного больше. Есть ли что-то, чем вы можете поделиться?
Просмотр постов, полученных плагином WP Discourse, не создаёт новых просмотров в Discourse. Однако, если вы используете стандартный endpoint show в topics_controller и передадите проверку, выделенную ниже, «просмотр» будет зафиксирован. Обратите внимание, что использование API-ключа означает наличие current_user.
Одна важная деталь, на которую стоит обратить внимание при чтении этого кода: TopicView — это не то, что вам нужно (это модель, обрабатывающая данные, сериализуемые при отображении темы). Фактическая модель «просмотра темы» — это TopicViewItem.
Привет, @angus,
Спасибо за ваши комментарии. Я изучу кодовую базу для представлений тем.
Что касается SPA-приложения:
Изначально у нас был плагин форума на WordPress, который создавал собственный тип записи для вопросов и ответов, а также категорий и тегов. При настройке SSO с помощью плагина WP Discourse я включил веб-хуки в Discourse для синхронизации тем с WordPress, используя этот тип записи, а также встроенные ответы.
На данный момент фронтенд форума выглядит скучно: каждый элемент вопроса, опираясь только на данные WordPress, может отображать лишь заголовок и автора. Мне бы хотелось также показывать авторов постов, количество просмотров, лайков и статус ответов. Мне не казалось логичным модифицировать этот плагин.
С использованием SPA извлечение и отображение данных стали бы намного быстрее и гибче. Оно показывает пагинированный список последних тем и боковую панель с популярными темами, включая возможности фильтрации и поиска.
Изначально в представлении деталей темы я планировал также обрабатывать отображение ответов/комментариев. По какой-то причине встроенные ответы показывали имена пользователей вместо полных имен.
Также я столкнулся с проблемами, связанными с эмодзи и другими ресурсами, которые были относительными по отношению к сайту Discourse, поэтому я вернулся к использованию встроенных элементов.
Еще одной проблемой было SEO. Мне удалось решить её с помощью хука wp_head в WordPress.