J'essaie de remplacer le the_content
de l'article par la valeur du champ article_text
d'ACF. J'ai réussi à le réaliser avec la méthode suivante:
$postid = get_queried_object_id();
$my_post = array(
'ID' => $postid,
'post_content' => get_field('article_text'),
);
wp_update_post( $my_post );
the_content();
Mais j'ai un petit problème avec cela: quand je crée post, the_content
ne reçoit pas automatiquement la valeur de ACF article_text
. Je dois rafraîchir le navigateur plusieurs fois pour voir ce changement. Lorsque je prévisualise le message sans le publier, je ne vois pas du tout the_content
.
Ma question: existe-t-il un moyen plus efficace de voir le contenu immédiatement?
La raison pour laquelle je veux afficher the_content
au lieu de article_text
est due à plusieurs plugins non compatibles avec ACF.
Au lieu de mettre à jour le contenu de l'article, vous pouvez le filtrer à l'aide du filtre the_content
.
add_filter( 'the_content', 'wpse241388_use_acf_field' );
function wpse241388_use_acf_field( $content ) {
return get_field( 'article_text' );
}
Pour postuler uniquement à votre type de poste article
:
add_filter( 'the_content', 'wpse241388_use_acf_field' );
function wpse241388_use_acf_field( $content ) {
if ( is_singular( 'article' ) ) {
$content = get_field( 'article_text' );
}
return $content;
}