Il y a beaucoup de réponses sur la façon de compter les messages des utilisateurs en utilisant:
<?php
if ( is_user_logged_in() ) {
global $wpdb;
$user = wp_get_current_user();
$where = get_posts_by_author_sql( 'page', true, $user->ID );
$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" ); ?>
//option 1
<h2>Hey <?php echo $current_user->display_name ?>, check your page here: {page title with link to page} </h2>
<?php } else { ?>
//option 2
<h2>Welcome <?php echo $current_user->display_name ?>, etc.. text with tags etc.</h2>
<?php } } else { ?>
//option 3
<h2>text with tags etc.</h2>
<?php } ?>
Mais puisque les utilisateurs peuvent également créer des pages, comment obtenir le nombre de pages de l'utilisateur actuel dans une situation similaire à celle du code ci-dessus?
Regardez ce que count_user_posts()
fait à l'intérieur et modifiez le paramètre post type:
global $wpdb;
// 'page' is the important part here
$where = get_posts_by_author_sql('page', true, $userid);
$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
Ensuite, modifiez votre extrait en:
global $wpdb;
$user = wp_get_current_user();
$where = get_posts_by_author_sql( 'page', true, $user->ID );
$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
if ( $count >= 1 ) {
// echo your text snippet
} else {
// echo your form
}