Hemos integrado Discourse en nuestro sitio de Wordpress, y la publicación manual funciona. Sin embargo, me gustaría configurar la publicación automática en Discourse solo de las publicaciones que pertenecen a una categoría específica. Veo que podemos excluir por etiqueta, pero eso no ayuda en este caso de uso. Me gustaría incluir por categoría. ¿Es esto posible y, si no, se podría añadir como una característica? Parece que sería una opción muy útil/importante y, sinceramente, me sorprendió bastante descubrir que no parece estar ahí ya. Gracias.
Hola @vanclute,
Puedes usar el filtro wpdc_publish_after_save para lograr esto. En el archivo functions.php de tu WordPress, añade lo siguiente:
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 );
Necesitarás reemplazar TERM y TAXONOMY con lo que estés usando para las “categorías” en WordPress. Ten en cuenta que TERM puede ser un array, por ejemplo:
array( 'nombre de categoría 1', 'nombre de categoría 2')
Ejemplo
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 );
Gracias. Realmente preferiría no tener que modificar ningún archivo de WP, pero aprecio las indicaciones.
No es necesario modificar nada
Hazlo como debe ser…
Instala un fragmento de código o similar y hazlo a través de él (claro, puedes hacerlo como un plugin separado si lo prefieres; no hay diferencias). Exactamente lo mismo que instalar un componente de tema o un plugin para Discourse.
Y usa functions.php del tema hijo solo cuando la modificación dependa del tema. Este no es el caso esta vez.