web-dev-qa-db-fra.com

the_content () semble bloquer mon code ACF

J'ai ce code simple, mais je ne peux pas faire en sorte que le contenu et le code ACF fonctionnent ensemble.

Si j'inclus the_content (), il bloque le code ACF, mais si je supprime the_content (), le code ACF fonctionne correctement. Je soupçonne qu'il existe une solution très simple à cela.

J'ai simplifié et supprimé des éléments inutiles du code ci-dessous:

<?php while ( have_posts() ) : the_post(); ?>

    <?php the_content(); ?>

    <?php
    if( have_rows('boxes') ): ?>
        <p>This is only shown when the_content() is removed.</p>
    <?php
    else :
        // no rows found
    endif; ?>

<?php endwhile; ?>
1
Garland Briggs

Juste pour information, il s'agit d'un bogue dans WP et autop. Vous pouvez voir le ticket ici et il ne semble pas qu'il soit réparé de sitôt. La solution consiste à démarrer votre commentaire multiligne avec <!-- et à le terminer par <!-- -->

3
John Huebner

Essaye ça:

<?php
    $acf = false;
    while ( have_posts() ) : the_post();

        if( have_rows('boxes') ) $acf = true;

        the_content();

        if( $acf == true ):
            echo '<p>This is only shown when the_content() is removed.</p>';
        else :
            // no rows found
        endif;


    endwhile;
?>

Ce n'est pas une solution parfaite mais une solution de contournement rapide.

0
Ashok Kumar Nath

Eh bien, j'ai découvert ce que c'était. En fait, je pense que cela pourrait être causé par un bogue dans Wordpress (ou peut-être un des add-ons que j'utilise).

Dans l'éditeur de contenu, j'avais bloqué une partie du code avec "". Pour certaines raisons, le balisage de fermeture "->" n’a pas été enregistré, donc dans le code, tout ce qui se passait après the_content(); était bloqué.

0
Garland Briggs