Abbiamo integrato Discourse nel nostro sito Wordpress e la pubblicazione manuale funziona. Vorrei tuttavia impostare la pubblicazione automatica su Discourse solo dei post che rientrano in una categoria specifica. Vedo che possiamo escludere per tag, ma questo non aiuta nel nostro caso d’uso. Vorrei includere per categoria. È possibile e, in caso contrario, potrebbe essere aggiunto come funzionalità? Sembra un’opzione estremamente utile/importante e onestamente sono rimasto piuttosto sorpreso di scoprire che non sembra esserci già. Grazie.
Ciao @vanclute,
Puoi usare il filtro wpdc_publish_after_save per ottenere questo risultato. Nel tuo file functions.php di Wordpress aggiungi quanto segue:
function publish_to_discourse( $force_publish, $post_id, $post ) {
return has_term( TERM, TAXONOMY, $post );
}
add_filter( 'wpdc_publish_after_save', 'publish_to_discourse', 10, 3 );
Dovrai sostituire TERM e TAXONOMY con quello che stai usando per le “categorie” in Wordpress. Nota che TERM può essere un array, ad esempio
array( 'nome categoria 1', 'nome categoria 2')
Esempio
function publish_to_discourse( $force_publish, $post_id, $post ) {
return has_term( array( 'news', 'blog' ), 'category', $post );
}
add_filter( 'wpdc_publish_after_save', 'publish_to_discourse', 10, 3 );
Grazie. Preferirei davvero non dover modificare alcun file di WP, ma apprezzo i suggerimenti.
Non c’è bisogno di modificare nulla
Fai come dovrebbe essere fatto…
Installa Code Snippet o qualcosa di simile e fallo tramite esso (certo, puoi farlo anche come plugin separato; non fa differenza). Esattamente la stessa cosa che installare un componente del tema o un plugin per Discourse.
E usa functions.php del child theme solo quando la modifica dipende dal tema. Questa volta non è il caso.