Plugin wp-discourse-shortcodes

Je n’ai trouvé aucun appel d’API dans les journaux de Discourse. :woman_shrugging: Cependant, la bonne nouvelle est que je pense que nous avons peut-être résolu le problème.

Le shortcode d’origine utilisait source="top" et d’autres paramètres, j’ai donc lentement réduit le shortcode jusqu’à ce qu’il n’utilise que les paramètres par défaut par omission. Je pensais que seul source="latest" utilisait un webhook selon la formulation de la case à cocher dans les paramètres d’administration de WP, mais nous avons activé un webhook pour les derniers sujets (et avons en plus restreint le déclencheur aux seules catégories que nous voulions afficher), puis lorsque j’ai réintégré la catégorie parente, le shortcode a commencé à respecter les restrictions de catégorie ! :tada: (Il ne respectait pas la restriction de catégorie avec source="latest" avant que j’active le webhook, malgré le vidage du cache HTML via la page d’administration WP, et d’autres sources de mise en cache que nous avons pour le site.)

Après avoir constaté les résultats souhaités en utilisant le webhook + source="latest", j’ai reconfiguré la source sur “top”, puis j’ai réintégré les paramètres d’origine petit à petit. Jusqu’à présent, il a continué à respecter la restriction de catégorie. J’ai laissé le webhook activé.

Si le webhook est ce qui aide (encore, et pas seulement quelque chose qui a servi de réinitialisation en quelque sorte), je suggère de changer la formulation de la page d’administration WP de “Utiliser un webhook Discourse pour actualiser la liste des sujets ‘les plus récents’” à “Utiliser un webhook Discourse pour actualiser la liste [discourse_topics]” (ou quelque chose d’autre pour indiquer qu’il n’est pas important de source que vous utilisez dans la liste des sujets, le webhook sera probablement l’élixir miracle que nous recherchons). :joy:

Ceci est un excellent plugin. Deux questions sur les fonctionnalités :

  1. Est-il possible d’afficher des images dans les publications, comme avec le script d’intégration utilisant template=“complete” ?..

  2. Est-il possible d’échanger les noms d’utilisateur contre de vrais noms ?

Merci beaucoup

Aussi un bug avec les catégories imbriquées qui ne s’affichent pas. Seuls les sujets d’une catégorie principale apparaissent.
Voir l’exemple ci-dessous : Général mais pas Général >> Nouvelles et événements

et encore avec les tuiles et tous les autres attributs de shortcode supprimés..

Salut Ryan, ni les aperçus d’images de sujets ni les noms ne sont des fonctionnalités du plugin, cependant vous pouvez utiliser ces filtres pour appliquer votre propre formatage et pour y ajouter éventuellement ces éléments.

Pour remplacer entièrement la sortie HTML, utilisez ces deux filtres (c’est-à-dire les équivalents de add_filter)

// Retourne false pour utiliser votre propre formatage
apply_filters( 'wpds_use_plugin_topiclist_formatting', true );

// Retourne votre propre sortie HTML à partir des données discourse_topics
apply_filters( 'wpds_after_topiclist_formatting', $output, $discourse_topics, $args );

Ou ajoutez des éléments supplémentaires dans le HTML existant

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 );

Désolé, voulez-vous dire que le sujet d’une catégorie imbriquée s’affiche, mais pas son badge de catégorie ?

1 « J'aime »

Merci beaucoup, Angus. C’est utile.

Correct. Si un sujet réside dans une catégorie imbriquée, le badge ne s’affichera pas. La capture d’écran ci-dessous montre le badge manquant. Il s’agit d’un sujet dans la catégorie imbriquée Général >> Nouvelles et événements. Si je changeais la catégorie du sujet en catégorie parente ‘Général’, le badge s’afficherait comme le deuxième sujet ci-dessous…

1 « J'aime »

Merci pour ces précisions Ryan, je vais examiner ce problème la semaine prochaine et je reviendrai vers vous.

1 « J'aime »

Merci. Pour information, j’ai ajouté un attribut « nom réel » pour remplacer les noms d’utilisateur et publié mes modifications dans ce dépôt. Je suis assez nouveau sur Git, donc je m’excuse si cela n’a pas suivi les canaux de validation appropriés, mais les modifications sont là si elles peuvent être utiles à quelqu’un d’autre.

2 « J'aime »

Le principal problème de ce plugin reste l’impossibilité d’inclure/exclure par catégorie. Dans un forum privé basé sur l’adhésion, vous voyez soit toutes les catégories, soit aucune, ce qui signifie qu’il n’y a aucun moyen d’exclure les sujets du personnel de la vue de la base de membres élargie.

Cependant, il semble qu’une solution de contournement facile pourrait être de commenter la requête ajax et de s’appuyer exclusivement sur le webhook. Nous avons mis en place des déclencheurs pour exclure la catégorie du personnel dans le webhook.

Et cela fonctionne pour bloquer temporairement les nouvelles discussions du personnel jusqu’à ce que l’appel ajax soit finalement effectué.

Alors peut-être juste commenter l’appel ajax ?..

Est-ce que je néglige quelque chose qui rendrait cette approche déconseillée ?

1 « J'aime »

Revisiter

:tada: Je suis heureux d’annoncer que le plugin WP Discourse Shortcodes prend désormais en charge la (fonctionnalité expérimentale de filtre de liste de sujets). :confetti_ball:

En plus de source="latest" ou source="top", vous pouvez maintenant faire source="filter" et mettre la requête de filtre dans le paramètre q, comme ceci :

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

N’oubliez pas d’activer d’abord le paramètre experimental_topics_filter !

J’ai également corrigé quelques bugs :

  • mise en cache entièrement retravaillée (cela supprime également la nécessité d’avoir un attribut id)
  • les noms d’utilisateur ne s’affichaient pas sur les forums non anglais
  • ajout du filtre de catégorie à latest-AJAX

Le plugin n’est toujours pas dans le répertoire des plugins Wordpress, vous devez donc le cloner depuis le dépôt

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

ou alternativement téléchargez ce fichier ZIP pour l’installer.
wp-discourse-shortcodes-0.40.zip (67,6 Ko)

5 « J'aime »

C’est énorme ! Merci pour l’excellent travail, cela ouvre tout un nouvel ensemble de possibilités :heart:

1 « J'aime »

J’essaie de suivre, mais je n’arrive pas à savoir si c’est une capacité actuelle.

— Je veux afficher les ARTICLES RÉCENTS de toutes/n’importe quelle catégorie et sujet. —

Les informations que je voudrais afficher sont :

  • Nom d’utilisateur / Date de publication
  • Titre des sujets
  • Titre de la catégorie
  • Extrait (45 caractères)
  • J’aime (et peut-être les réponses ?)

Quelqu’un sait si c’est possible ?

Le plugin utilise ce qui est fourni par Discourse, veuillez donc poursuivre cette question dans le sujet de votre autre publication ici.

Un peu en retard pour la fête, mais merci !

1 « J'aime »