Zählen Sie Beiträge innerhalb eines benutzerdefinierten Beitragstyps und einer bestimmten Kategorie
7 Antworten
- Stimmen
-
- 2014-03-02
Eine alternative Lösungmit WP_Query wäre:
$args = array( 'cat' => 4, 'post_type' => 'videos' ); $the_query = new WP_Query( $args ); echo $the_query->found_posts;
An alternative solution using WP_Query would be:
$args = array( 'cat' => 4, 'post_type' => 'videos' ); $the_query = new WP_Query( $args ); echo $the_query->found_posts;
-
-
Wirklich schlechte Idee.Wasist,wenn Sie 15000 Beiträge haben?Sie haben sie allein Erinnerungbehalten?Diese Art von Missverständnissen könnteeine Produktionsstätte zerstören.Really bad idea. What if you have 15000 posts? You put them ALL in memory? These are the kind of misconceptions that could wreck a production site.
- 10
- 2016-03-04
- Cranio
-
Wie @Cranio obenerwähnt: schreckliche Idee,alle Beiträgenur zubekommen,um sie zu zählen.As @Cranio mentions above: terrible idea to get all the posts just to count them.
- 0
- 2017-07-28
- dhuyvetter
-
-
- 2015-11-10
Dies sollte auchfunktionieren:
$category = get_term('work', 'category'); $posts_in_category = $category->count;
This also should work:
$category = get_term('work', 'category'); $posts_in_category = $category->count;
-
Dies schlägtfehl,wenn die Taxonomiemehr alseinem Beitragstyp zugewiesenist und Sienur die Anzahl der Beiträgeeines BeitragstypsbenötigenThis will fail if the a taxonomy is assined to more than one post type and you just need the post count of one post type
- 5
- 2015-11-10
- Pieter Goosen
-
- 2015-08-26
Füreine bestimmtebenutzerdefinierte Taxonomie versuchen Sie:
$the_query = new WP_Query( array( 'post_type' => 'CUSTOM_POST_TYPE', 'tax_query' => array( array( 'taxonomy' => 'CUSTOM_TAXONOMY', 'field' => 'id', 'terms' => TERM_ID ) ) ) ); $count = $the_query->found_posts;
Dokumentation unter https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
For a specific custom taxonomy try:
$the_query = new WP_Query( array( 'post_type' => 'CUSTOM_POST_TYPE', 'tax_query' => array( array( 'taxonomy' => 'CUSTOM_TAXONOMY', 'field' => 'id', 'terms' => TERM_ID ) ) ) ); $count = $the_query->found_posts;
Documentation at https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
-
- 2020-08-20
Ich habe diesgefunden,alsichmichmit einer ähnlichen Sachebefasst habe. Hieristmeine Lösungfür den Fall,dass siefür anderenützlichist ... Hinweis: Die Antwort von Harmonicfunktioniertje nach Szenario,obwohl diesmöglicherweiseeinfacherist:
$count = get_category($category->term_id)->category_count;
Wobei
$category
Ihr Taxonomieobjektist.Wichtiger Hinweis hierbeiist,dass davon ausgegangen wird,dass kein andererpost_type dieselbe Taxonomie verwendet. Details:
get_category()
isteigentlicheine Wrapper-Funktion vonget_term()
.In diesem Fall hatget_term ()einen name__-ähnlichen Parameter,denget_category ()nicht hat.Esgibt wahrscheinlich auch andere kleine Unterschiede.
Siehe: get_term () get_category
Found this while looking into a similar thing myself so here's my solution in case it's useful for anyone else... Note: Harmonic's answer works, depending on scenario though it may be easier to do this instead:
$count = get_category($category->term_id)->category_count;
Where
$category
is your taxonomy object.Important note here being that this assumes no other post_type uses the same taxonomy. Details:
get_category()
is actually a wrapper function ofget_term()
.In this case, get_term() has a name__like parameter that get_category() doesn't. There are probably other little differences too.
See: get_term() get_category
-
- 2014-07-24
Wenn Sie diesmit Ihrergefundenen Lösungtun,verschwenden Sieim Grundegenommen ziemlich viel DB-Ressourcen,wenn Sie viele Beiträge abrufenmüssen.
$query = new WP_Query(); echo $query->found_posts();
WP_Query->found_posts ruftjedochnur 'posts_per_page' ab underledigt den MySQL-Job COUNT (*)für Sie. Daherempfehleich Ihnen,letzteres zu verwenden.
Basically if you do it with your found solution, you will waste quite much DB resources when you have lots of posts to fetch.
$query = new WP_Query(); echo $query->found_posts();
However WP_Query->found_posts just fetch 'posts_per_page' and do COUNT(*) mysql job for you. So I recommend you to use the latter one.
-
- 2019-04-04
Ich weiß,dass diesein alter Threadist,aberer wird zuerstin Google angezeigt. Hierist die ECHTE Lösung,wie dasgeht.
$term = get_term( $termId, $taxonomy ); $total_in_term = $term->count;
Siemüssen also die ID des Begriffs und die Taxonomie übergeben.Diesist die leichteste Lösung undbietet den Vorteil,mit benutzerdefinierten Taxonomien zu arbeiten.
I know that this is an old thread, but it shows up first in Google, so here is the REAL solution on how to do this.
$term = get_term( $termId, $taxonomy ); $total_in_term = $term->count;
So you need to pass the ID of the term and the taxonomy. This is the lightest weight solution as well as having the benefit of working with custom taxonomies.
Ichmöchte zählen,wie viele Postsinnerhalb desbenutzerdefinierten Post-Typs "Videos" leben,abernur diejenigen aus der Kategorie "Arbeit".
Wie kannich den obigen Code anpassen,um dies zuerreichen?
Danke!