web-dev-qa-db-fra.com

WP erreur de base de données pour comments_popup_link ()

J'utilise la fonction comments_popup_link() pour afficher le nombre de commentaires de chaque publication dans une boucle.

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

<?php if ( get_post_meta($post->ID, 'thumb_value', true) ) : ?>
        //something
<?php else: ?>
       //something else
<?php endif; ?>


        <h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2> 

        <?php the_content(__('Read more'));?>
        <div class="post-meta">
       <?php the_time('F j, Y'); ?>
       <p>Category: <?php the_category(', '); ?></p>
       <p><?php the_tags(); ?></p>
       <p><?php comments_popup_link('Post Comment', '1 Comment', '% Comments'); ?></p>      
    </div>


<?php endwhile; ?> 
<?php $wpdb->show_errors(); 
$wpdb->print_error(); ?>

<?php else: ?>

<p><strong>There has been an error.</strong></p>
<?php $wpdb->show_errors(); ?> 
<?php $wpdb->print_error(); ?> </p>

<?php endif; ?>

Tout se passe bien mais je reçois

Erreur de base de données WordPress: [] SELECT * FROM wp_comments WHERE comment_post_ID = 216 AND comment_approved = '1' ORDER BY comment_date_gmt DESC

Je suis juste une curiosité pourquoi je reçois ça ..

2
wpStudent

Votre code de modèle comprend $wpdb->print_error(). Cette fonction imprime la dernière erreur de base de données entre les crochets [ et ] et le code SQL exécuté. Mais s'il n'y a pas d'erreur, vous voyez juste les crochets vides et le code SQL.

$wpdb->show_errors() est utilisé pour permettre l'affichage des erreurs de base de données . Si vous voulez voir toutes les erreurs de base de données, vous pouvez simplement appeler cette fonction quelque part plus haut dans votre code (dans votre functions.php ou dans un plugin). Vous ne voudrez probablement faire cela que lorsque vous êtes en mode débogage, cela ressemble donc à ceci:

if ( WP_DEBUG ) {
    $wpdb->show_errors();
}
4
Jan Fabry