Je l’ai dit que ce n’était pas testé, n’est-ce pas ?
Je ne peux pas vous aider beaucoup avec le débogage pour le moment, mais voici une version mise à jour qui devrait corriger ce problème ainsi que supprimer une vérification redondante dans la deuxième action :
add_action( 'create_category', 'discourse_create_category', 10, 1 );
function discourse_create_category( $term_id ) {
$category = get_term_by( 'id', $term_id, 'category' );
$name = $category->name;
$path = '/categories.json';
// Utiliser le plugin WPDiscourse pour générer une nouvelle catégorie
$utils = new \WPDiscourse\Utilities\PublicPluginUtilities();
$utils->discourse_request(
$path,
[
'method' => 'POST',
'name' => $name,
]
);
}
add_action( 'set_object_terms', 'discourse_set_object_terms', 10, 1 );
function discourse_set_object_terms( $object_id ) {
if ( ! metadata_exists( 'post', $object_id, 'publish_to_discourse' ) ) {
// Activer la publication dans Discourse, uniquement lors de la sauvegarde initiale.
update_post_meta( $object_id, 'publish_to_discourse', true );
$discourse_publish_option = get_option( 'discourse_publish' );
// Définir la catégorie Discourse en fonction de la catégorie WP
if ( is_array( $discourse_publish_option ) ) {
$categories_list = wp_get_post_categories( $object_id );
update_post_meta( $object_id, 'publish_post_category', $categories_list[0]->name );
}
}
}
7.4 n’est qu’à environ trois mois de sa fin de vie, vous devriez donc vraiment commencer à planifier la mise à niveau de votre environnement d’hébergement, si ce n’est pas déjà fait ![]()