Comptage du nombre de messages (type de publication personnalisé) Problèmes de requête
-
-
En remarque,avez-vousessayé count ($jobs) ouprint_r ($jobs)justepour voir les résultats originaux de la requête?As a side note, did you try count($jobs) or print_r($jobs) just to see the original results of the query?
- 0
- 2011-08-22
- redconservatory
-
non,justeessayéet çan'a rien d'utile.no, just tried and it doesn't o anything useful.
- 0
- 2011-08-22
- Dan Lee
-
3 réponses
- votes
-
- 2011-08-22
Lafonction
wp_count_posts
a leparamètre$type
pour que letype depublication compte,vous devez utiliser ceparamètre si vous souhaitez obtenir lenombre d'emploiscomme ça:
$count_posts = wp_count_posts( 'jobs' )->publish;
The
wp_count_posts
function has parameter$type
for post type to count, you should use this parameter if you want to get number of jobslike so:
$count_posts = wp_count_posts( 'jobs' )->publish;
-
Celafait letravail!That does the job!
- 0
- 2011-12-13
- Dan Lee
-
Je suis content que ça ait aidéI'm glad it helped
- 0
- 2011-12-13
- Mamaduka
-
Vous devez ** accepter ** cette réponse,en cliquant sur la ** coche ** sous le décompte des votes,dans le coin supérieurgauche de la réponse.You need to **accept** this answer, by clicking the **checkmark** beneath the vote count, in the upper left-hand corner of the answer.
- 0
- 2012-02-10
- Chip Bennett
-
- 2013-11-27
Remplacez-lespar votremeta_keyet votremeta_value:
$meta_key = 'x'; $meta_value = '2'; $sql = "SELECT count(DISTINCT pm.post_id) FROM $wpdb->postmeta pm JOIN $wpdb->posts p ON (p.ID = pm.post_id) WHERE pm.meta_key = '$meta_key' AND pm.meta_value = '$meta_value' AND p.post_type = 'post' AND p.post_status = 'publish' "; $count = $wpdb->get_var($sql); echo "<p>Count is: $count</p>";
Replace these with your meta_key and meta_value:
$meta_key = 'x'; $meta_value = '2'; $sql = "SELECT count(DISTINCT pm.post_id) FROM $wpdb->postmeta pm JOIN $wpdb->posts p ON (p.ID = pm.post_id) WHERE pm.meta_key = '$meta_key' AND pm.meta_value = '$meta_value' AND p.post_type = 'post' AND p.post_status = 'publish' "; $count = $wpdb->get_var($sql); echo "<p>Count is: $count</p>";
-
C'est unetrèsmauvaisepratique d'utiliser SQLbrut dans votre code.Ilexiste denombreusesfonctions de wrapper WP quifont lamême choseet mêmeplus.It is a very bad practive to use plain sql in your code. There are a lot of WP wrapper functions that do the same thing and even more.
- 1
- 2014-10-05
- NoSense
-
@NoSense àpart lesfonctions d'encapsulationintégrées sont vraimenttrès lents carils renvoient destonnes demétadonnées dont aucunen'a été demandée.L'utilisation de SQLest unmoyentrèsefficace de récupérer les données spécifiques dont vous avezbesoin.@NoSense apart from the built-in wrapper functions are really really slow as they return loads of meta data none asked for. Using SQL is a really efficient way to fetch specific data that you require.
- 0
- 2020-05-31
- Sam
-
- 2020-07-06
Une autrefaçon,en utilisant WP-CLI:
wp eval 'echo wp_count_posts( "post" )->publish;'; echo
Another way, using WP-CLI:
wp eval 'echo wp_count_posts( "post" )->publish;'; echo
-
celane résoutpas leproblèmeici.Votreexempleest égalementfaux!this doesn't solve the issue here. Also your example is wrong too!
- 0
- 2020-07-08
- Sabbir Hasan
J'essaie de compter lenombretotal demessages d'untype demessagepersonnalisé "emplois".Ma requête renvoie simplement "0" lorsqueje sais qu'il y a desmessages.Jene pensepas que cela vérifie que letype demessage contient desmessages,maisje ne saispaspourquoi ... desidées?