J'ai cette fonction ...
$user = wp_get_current_user();
if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
/* Is subscriber, is in category Locked, has amount of posts */
echo do_shortcode('[shortcode_name]');
} else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
/* Is subscriber, is in category Locked, has NO amount of posts */
echo '<div id="locked">
You are subscriber without number of posts!
</div>';
} else if ( in_category('Locked') ) {
/* Is NOT subscriber, is in category Locked, has NO amount of posts */
echo '<div id="locked">
Login or register pal!
</div>';
} else {
/* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
echo do_shortcode('[shortcode_name]');
}
J'ai besoin d'appliquer "a le nombre de messages" ou "vérifier si l'utilisateur est l'auteur du numéro de message" sur la première partie du code ...
if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) && ?????
Si cette méthode ne fonctionnait pas, j’aurais une solution supplémentaire possible, c’est de déplacer automatiquement l’utilisateur d’abonné en contributeur une fois que l’abonné a affiché le nombre de publications, mais cette première solution serait préférable.
Je suppose que count_user_posts
est ce que vous cherchez;)
Voici comment vous l'utilisez:
$user_post_count = count_user_posts( $userid , $post_type );
Et il renvoie le nombre de publications publiées que l'utilisateur a écrites dans ce type de publication.
PS Et si vous voulez un nombre plus avancé, get_posts_by_author_sql
peut être assez pratique.
Le gars ci-dessus a répondu correctement, mais pour tous ceux qui en ont besoin, je vais ajouter le code complet en réponse aussi ...
$user = wp_get_current_user();
$user_ID = get_current_user_id();
$user_post_count = count_user_posts( $user_ID );
$my_post_meta = get_post_meta($post->ID, 'shortcode_name', true);
if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) && $user_post_count == 5 ) {
/* Is subscriber, is in category Locked, has amount of posts */
echo do_shortcode('[shortcode_name]');
} else if (( in_category('Locked') ) && in_array( 'subscriber', (array) $user->roles ) ) {
/* Is subscriber, is in category Locked, has NO amount of posts */
echo '<div id="locked">
You are subscriber without number of posts!
</div>';
} else if (( in_category('Locked') ) && in_array( 'administrator', (array) $user->roles ) ) {
/* Is subscriber, is in category Locked, has power */
echo do_shortcode('[shortcode_name]');
} else if ( in_category('Locked') ) {
/* Is NOT subscriber, is in category Locked, has NO amount of posts */
echo '<div id="locked">
Login or register pal!
</div>';
} else if ( ! empty ( $my_post_meta ) ) {
/* Post meta exist */
echo do_shortcode('[shortcode_name]');
} else {
/* Is NOT subscriber, is NOT in category Locked, has NO amount of posts */
/* Post meta NOT exist */
echo do_shortcode('[shortcode_name_1]');
}