Ricevi messaggi per meta valore
-
-
Tienipresente che [dovresti aver studiatoilproblemae avertentato di risolverloprima diinviare una domanda.] (Http://wordpress.stackexchange.com/questions/how-to-ask) Senonfossi stato unmarchionuovo qui avreiprobabilmente votatoper difetto la domandae sarei andato avanti,piuttosto che rispondere.Nello spirito di "Welcometothe Stack" questa è latua ape libera.Dai un'occhiata a [chiedi]per domandefuture.Please be aware that [you are expected to have researched the problem and made an attempt at solving it before posting a question.](http://wordpress.stackexchange.com/questions/how-to-ask) Had you not been brand new here I would have probably down-voted the question and moved on, rather than answer it. In the spirit of "Welcome to the Stack" this is your free-bee. Please take a look at [ask] for future questions.
- 8
- 2014-05-11
- s_ha_dum
-
Questomi hafattoperdere unpo 'ditempo a causa della rispostanon accettata di seguito.Quindi lascio quii miei 2 centesimi.Non hamai risposto,né ha accettato la risposta di seguito.Perchénon rimuovi queste domandementre ci sono dozzine di domande simili quiintorno?This one just made me lose some time because of the not accepted answer below. So I'm leaving here my 2 cents. He never answered, nor accepted the answer below. Why don't you just remove this questions while there are dozens of similar questions around here?
- 0
- 2019-07-21
- mircobabini
-
4 risposta
- voti
-
- 2014-05-11
Quello che stai chiedendo è un
meta_query
$args = array( 'meta_query' => array( array( 'key' => 'cp_annonceur', 'value' => 'professionnel', 'compare' => '=', ) ) ); $query = new WP_Query($args);
What you are asking for is a
meta_query
$args = array( 'meta_query' => array( array( 'key' => 'cp_annonceur', 'value' => 'professionnel', 'compare' => '=', ) ) ); $query = new WP_Query($args);
-
@Beginner: se questo ha risoltoilproblema,contrassegnalo come "Accettato".Cercail segno di spunta vicino allefrecce di voto a sinistra.@Beginner : if this solved the problem please mark it "Accepted". Look for the check mark near the vote arrows on the left.
- 3
- 2014-05-11
- s_ha_dum
-
Per qualchemotivo usare `new WP_Query ($ args)`e poi chiamare `get_posts`nonfunzionaperme.Tuttavia,ilpassaggio diretto dell'array `$ args` allafunzione`get_posts` come argomentofunziona.For some reason using `new WP_Query($args)` and then calling `get_posts` doesn't work for me. Directly passing the `$args` array to the `get_posts` function as an argument works however.
- 0
- 2020-05-05
- Kunal
-
- 2014-05-11
Ci sono duemodiperfarlo:
-
Intercetta la queryprincipale su
pre_get_posts
:add_action( 'pre_get_posts', function( $query ) { // only handle the main query if ( ! $query->is_main_query() ) return; $query->set( 'meta_key', 'cp_annonceur' ); $query->set( 'meta_value', 'professionnel' ); } );
-
Aggiungi un'altra query
$second_loop = get_posts( array( 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel', ) );
Unesempiopiù completopuòesseretrovatoin questa risposta .
There are two ways to do that:
Intercept the main query on
pre_get_posts
:add_action( 'pre_get_posts', function( $query ) { // only handle the main query if ( ! $query->is_main_query() ) return; $query->set( 'meta_key', 'cp_annonceur' ); $query->set( 'meta_value', 'professionnel' ); } );
Add an additional query
$second_loop = get_posts( array( 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel', ) );
A more throughout example can be found in this answer.
-
Bello sapere la viapiùbreve conget_posts ()Nice to know the short way with get_posts()
- 2
- 2017-01-26
- Andrew Welch
-
Come sifa conpiùmeta chiave/valori?How do you do this with multiple meta ket/values ?
- 0
- 2020-04-09
- G-J
-
@ G-Jpotresti voler dare un'occhiata a [questoesempio] (https://wordpress.stackexchange.com/a/105705/385).@G-J you might want to take a look at [this example](https://wordpress.stackexchange.com/a/105705/385).
- 0
- 2020-04-15
- kaiser
-
- 2016-01-28
Ho utilizzato la selezionepersonalizzata (potrebbeessere unaprestazionemigliore)
$posts = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key = 'cp_annonceur' AND meta_value = 'professionnel' LIMIT 1", ARRAY_A);
Ispirato da https://tommcfarlin.com/get-post-id-by-meta-valore/
I used custom select (might be better performance)
$posts = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key = 'cp_annonceur' AND meta_value = 'professionnel' LIMIT 1", ARRAY_A);
Inspired from https://tommcfarlin.com/get-post-id-by-meta-value/
-
Potrebbe avereprestazionimigliori,mabutta via l'interaidea di averefunzioni di Wordpressper cercare (ememorizzarenella cache)i dati.E,inoltre,cosa succederebbe se WP decidesse di cambiare la struttura dellatabella?:)It might have better performances, but it throws away the whole idea of having Wordpress functions to search (and cache) data. And, also, what will happen if WP decides to change the table structure? :)
- 3
- 2017-03-03
- Erenor Paz
-
@ErenorPaz Capisco cosa stai dicendo,main questomodo sarebbefacile se avessipiùmeta chiave/valori come criteri ... Esiste unmodo ufficialepergestirepiù criteri?@ErenorPaz I understand what you are saying but this way would make it easy if you had multiple meta key/values as a criteria... Is there an official way to handle multiple criteria?
- 0
- 2020-04-09
- G-J
-
Vuoi dire qualcosa come 'WHEREmetatable1.meta_key=' cp_annonceur 'ANDmetatable1.meta_value='professionnel 'ANDmetatable2.meta_key=' cp_other_meta 'ANDmetatable2.meta_value=' other_value'`?(Nota che suppongo chefacciamo unjoin sulla stessatabellaposts_meta usando duenomi `metatable1`e`metatable2`).Ciòpuòessere ottenuto aggiungendoil campo `meta_query` (come un array) alla query.Dai un'occhiata a: https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameterse vai alparagrafo "" orderby "conpiù"meta_key "You mean something like `WHERE metatable1.meta_key = 'cp_annonceur' AND metatable1.meta_value = 'professionnel' AND metatable2.meta_key = 'cp_other_meta' AND metatable2.meta_value = 'other_value'`? (Note that i suppose we do a join on the same posts_meta table using two names `metatable1` and `metatable2`). This can be achieved adding field `meta_query` (as an array) to the query. Take a look at: https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters and go to paragraph "‘orderby’ with multiple ‘meta_key’s"
- 0
- 2020-04-10
- Erenor Paz
-
- 2017-10-04
Possiamo ottenereil risultato desiderato con la Meta query di WordPress:
// the meta_key 'diplay_on_homepage' with the meta_value 'true' $cc_args = array( 'posts_per_page' => -1, 'post_type' => 'post', 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel' ); $cc_query = new WP_Query( $cc_args );
Per unaguidapiù dettagliata sullameta query,segui questoblog: http://www.codecanal.com/get-posts-meta-values/
We can get the desired result with Meta query of the WordPress :
// the meta_key 'diplay_on_homepage' with the meta_value 'true' $cc_args = array( 'posts_per_page' => -1, 'post_type' => 'post', 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel' ); $cc_query = new WP_Query( $cc_args );
For more detailed guide regarding meta query follow this blog : http://www.codecanal.com/get-posts-meta-values/
-
Posso sapereperché questo valore di "posts_per_page" è -1?May i know why this `post_per_page` value is -1?
- 0
- 2018-04-27
- Abhay
-
@AbhayGawade Puoi limitareilnumeromassimo di risultati usando quelparametro,-1 significanessun limite.@AbhayGawade You can limit max number of results using that parameter, -1 means no limit.
- 1
- 2018-06-20
- Kush
Vorreielencaretuttii post che hanno una chiave di
cp_annonceur
conil valoreprofessionnel
.