Wir haben Discourse in unsere Wordpress-Website integriert, und das manuelle Posten funktioniert. Ich möchte jedoch das automatische Posten von Beiträgen nach Discourse einrichten, die nur in eine bestimmte Kategorie fallen. Ich sehe, dass wir nach Tags ausschließen können, aber das hilft in diesem Anwendungsfall nicht. Ich möchte nach Kategorie einschließen. Ist das möglich und wenn nicht, könnte es als Funktion hinzugefügt werden? Es scheint eine äußerst nützliche/wichtige Option zu sein, und ehrlich gesagt war ich ziemlich überrascht, dass sie anscheinend noch nicht vorhanden ist. Danke.
Hallo @vanclute,
Sie können den wpdc_publish_after_save-Filter verwenden, um dies zu erreichen. Fügen Sie in Ihrer Wordpress functions.php-Datei Folgendes hinzu:
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 );
Sie müssen TERM und TAXONOMY durch das ersetzen, was Sie für „Kategorien“ in Wordpress verwenden. Beachten Sie, dass TERM ein Array sein kann, z. B.
array( 'Kategoriename 1', 'Kategoriename 2')
Beispiel
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 );
Danke. Ich würde wirklich lieber keine WP-Dateien ändern müssen, aber ich schätze die Hinweise.
Es ist nicht nötig, etwas zu ändern
Machen Sie es, wie es sein sollte…
Installieren Sie Code Snippet oder ähnliches und machen Sie es dadurch (sicher, Sie können es auch als separates Plugin machen; keine Unterschiede). Genau dasselbe wie die Installation einer Theme-Komponente oder eines Plugins für Discourse.
Und verwenden Sie functions.php des Child-Themes nur dann, wenn die Änderung themenabhängig ist. Dies ist dieses Mal nicht der Fall.