Да, вы на верном пути. В общих чертах вам нужно сделать следующее:
Получить детали темы из Discourse (если у вас их еще нет).
Сохранить соответствующие детали в правильные поля метаданных поста.
Именно эти поля метаданных поста, которые вы видите в той функции, на которую вы ссылаетесь, создают связь.
Я также добавил это в свой план разработки WP Discourse: упростить этот процесс, то есть использовать одну общедоступную утилиту для достижения этой цели. Я запланировал это на июнь.
Также посмотрите на существующие утилиты в файлах lib/plugin_utilities.php и lib/utilities.php. А также на соответствующий метод link_topic в файле admin/discourse-sidebar/discourse-sidebar.php.
@Angus, спасибо за ответ. Я только начинаю изучать PHP, поэтому, если вы планируете работать над этим, я подожду.
Кроме того, у меня возникает повторяющаяся ошибка с плагином WP. Не знаю, стоит ли создавать отдельный пост или проблему на GitHub, но вот что происходит:
Когда я открываю запись WP, связанную с темой форума, ссылка не отображается в блоке Discourse. Кажется, что ссылки нет.
Условия:
Это происходит независимо от того, была ли ссылка создана при публикации «Новой темы» или через «Ссылку на существующую тему».
Мои записи WP — это CPT (пользовательские типы записей).
Мои комментарии настроены на «Отображать ссылку на комментарии».
Помимо этого, в моей установке нет ничего особенного.
Подтверждение:
Я могу подтвердить, что ссылки, которые не отображаются в блоке Discourse, существуют, так как вижу их в административных столбцах, и потому что могу перейти по ссылке на фронтенде и попасть на пост форума.
Я с радостью помогу с дополнительной информацией или тестированием.
Да. Я должен был упомянуть, что сначала всё работает: я могу опубликовать новую тему или ссылку на существующую тему, и ссылки работают в обе стороны… за исключением одного случая.
Если позже я отредактирую пост в WordPress, блок Discourse будет выглядеть так, будто ничего не связано, хотя ссылка в интерфейсе WordPress по-прежнему ведёт на правильную тему форума, а ссылка в теме форума по-прежнему ведёт на правильный пост WordPress.
Таким образом, проблема существует только в блоке Discourse для WordPress при повторном редактировании поста.
Видите ли вы какие-либо ошибки в консоли веб-инспектора вашего браузера?
Что происходит, если выполнить полную перезагрузку страницы, находясь в редакторе?
Похоже, что проблема связана с JavaScript. Это может быть вызвано различными причинами, включая другие плагины или расширение браузера. Если возможно, нам нужно сузить круг поиска.
Сначала в блоке Discourse отображаются разделы «Параметры публикации / Закрепить тему» и «Опубликовать в Discourse». Затем появляется раздел «Категория». Существующие ссылки не отображаются.
Я отключил все плагины, кроме WP-Discourse, CPT и ACF, а затем попробовал в браузерах Brave и Edge, оба с отключенными расширениями и щитами. Всё ещё не могу увидеть существующие ссылки в блоке Discourse.
Я провожу тестирование между обычными записями и записями CPT. Сообщу вам о результатах.