Receba posts de Meta Value
-
-
Porfavor,esteja ciente de que [espera-se que vocêtenhapesquisado oproblemae tenha umatentativa de resolvê-lo antes depostar umapergunta.] (Http://wordpress.stackexchange.com/questions/how-to-ask) Vocênãotinha sidomarcaNovo aqui,euprovavelmenteteria votado aperguntae movido,em vez de responder.Noespírito de "Bem-vindo àpilha" Esta é a sua livre-abelha.Porfavor,dê uma olhadaem [Ask]paraperguntasfuturas.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
-
Este sóme fezperder algumtempopor causa da respostanão aceita abaixo.Entãoestou deixando aquimeus 2 centavos.Elenunca respondeu,nem aceitou a resposta abaixo.Por que você simplesmentenão removeessasperguntasenquanto há dezenas deperguntas semelhantespor aqui?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 respostas
- votos
-
- 2014-05-11
O que vocêestápedindo é um
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: Seisso resolvesse oproblema,marque-o "aceito".Procure amarca de seleçãoperto das setas do voto àesquerda.@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
-
Por algummotivo usando `New WP_Query ($ args)`e,em seguida,chamando `get_posts 'nãofuncionaparamim.Passando diretamente o array `$ args`para afunção`get_posts` como um argumentofuncionanoentanto.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
Existem duasmaneiras defazerisso:
- .
-
Interceptar a consultaprincipalem
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' ); } );
-
Adicione uma consulta adicional
$second_loop = get_posts( array( 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel', ) );
Umexemplomais ao longopode serencontradoem Esta resposta .
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.
-
Bom saber o caminho curto comget_posts ()Nice to know the short way with get_posts()
- 2
- 2017-01-26
- Andrew Welch
-
Como vocêfazisso com váriasteclas/valores demeta?How do you do this with multiple meta ket/values ?
- 0
- 2020-04-09
- G-J
-
@ G-J Vocêpode querer dar uma olhadaem [Esteexemplo] (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
Eu usei Selectpersonalizado (pode sermelhor desempenho)
$posts = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key = 'cp_annonceur' AND meta_value = 'professionnel' LIMIT 1", ARRAY_A);
Inspiradoem https://tommcfarin.com/get-post-id-By-meta-value/
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/
-
Podetermelhoresperformances,masjogatoda aideia deterfunções do WordPressparapesquisar (e cache) dados.E,também,o que acontecerá se o WP decidirmudar aestrutura databela?:)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 Euentendo o que vocêestá dizendo,mas destamaneirafacilitaria se vocêtivesse váriosmeta-chave/valores como critérios ... Existe umamaneira oficial de lidar com vários critérios?@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
-
Você quer dizer algo como `ondemetatable1.meta_key='cp_annonceur'e metatable1.meta_value='professionnel'e metatable2.meta_key='cp_other_meta'e metatable2.meta_value='Other_Value'`(Note que suponho quefaço umajunçãonamesmatabelaposts_meta usando doisnomes `metatable1`e`metatable2`).Issopode ser conseguido adicionar campo `meta_query` (como umamatriz)para a consulta.Dê uma olhadaem: https://developer.wordpress.org/reference/classes/wp_query/#order-ounderby-parameters andir aoparágrafo "'Ordenarby' com vários 'Meta_Key's"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
Podemos obter o resultado desejado com ameta consulta do 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 );
Para umguiamais detalhado sobre ameta consulta,sigaesteblog: http://www.codecanal.com/get-posts-Meta-valores/
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 saberpor queeste valor "posts_per_page" é -1?May i know why this `post_per_page` value is -1?
- 0
- 2018-04-27
- Abhay
-
@Abhaygawade Vocêpode limitar onúmeromáximo de resultados usandoesseparâmetro,-1 significa sem limite.@AbhayGawade You can limit max number of results using that parameter, -1 means no limit.
- 1
- 2018-06-20
- Kush
Eugostaria de listartodas aspostagens quetenham uma chave de
cp_annonceur
com o valorprofessionnel
.