Obtener publicaciones por metavalor
-
-
Tengaen cuenta que [seespera que hayainvestigadoelproblema y hayaintentado resolverlo antes depublicar unapregunta] (http://wordpress.stackexchange.com/questions/how-to-ask) Sino hubiera sidonuevo aquí,probablemente habría rechazado lapregunta y habría seguido adelante,en lugar de responderla.Enelespíritu de "Bienvenido a lapila",estaestu abeja libre.Porfavor,eche un vistazo a [preguntar]parafuturaspreguntas.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 solome hizoperder algo detiempo debido a la respuestano aceptada a continuación.Así que dejo aquímis 2 centavos.Nunca respondió,ni aceptó la respuesta a continuación.¿Por quénoeliminaestaspreguntasmientras hay docenas depreguntas similarespor aquí?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 respuestas
- votos
-
- 2014-05-11
Lo queestápidiendoes 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);
-
@Principiante: siesto solucionóelproblema,márquelo como "Aceptado".Busque lamarca de verificación cerca de lasflechas de voto a laizquierda.@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 alguna razón,usar `new WP_Query ($ args)` y luego llamar a `get_posts`nofuncionaparamí.Sinembargo,pasar directamente lamatriz `$ args` a lafunción`get_posts` como argumentofunciona.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
Hay dosformas de hacerlo:
-
Interceptar la consultaprincipalen
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' ); } );
-
Agregue una consulta adicional
$second_loop = get_posts( array( 'meta_key' => 'cp_annonceur', 'meta_value' => 'professionnel', ) );
Puedeencontrar unejemplomás completoen esta respuesta .
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.
-
Esbueno saberel camino corto conget_posts ()Nice to know the short way with get_posts()
- 2
- 2017-01-26
- Andrew Welch
-
¿Cómo se haceesto con varios valores/clavemeta?How do you do this with multiple meta ket/values ?
- 0
- 2020-04-09
- G-J
-
@ G-Jesposible que deseeechar un vistazo a [esteejemplo] (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
Usé selecciónpersonalizada (podría ser unmejor rendimiento)
$posts = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key = 'cp_annonceur' AND meta_value = 'professionnel' LIMIT 1", ARRAY_A);
Inspiradoen https://tommcfarlin.com/get-post-id-por-meta-valor/
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/
-
Puede quetengamejores rendimientos,pero descarta laidea detenerfunciones de Wordpressparabuscar (y almacenaren caché) datos.Y,además,¿quépasará si WP decide cambiar laestructura de latabla?:)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 Entiendo lo queestá diciendo,pero deestamanera seríamásfácil situvieramúltiplesmeta clave/valores como criterio ... ¿Existe unaforma oficial demanejarmúltiples criterios?@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
-
¿Te refieres a algo como `DONDEmetatable1.meta_key='cp_annonceur' ANDmetatable1.meta_value='professionnel' ANDmetatable2.meta_key='cp_other_meta' ANDmetatable2.meta_value='other_value'`?(Tengaen cuenta que supongo que hacemos una uniónen lamismatablaposts_meta usando dosnombres `metatable1` y`metatable2`).Esto sepuede lograr agregandoel campo `meta_query` (como unamatriz) a la consulta.Eche un vistazo a: https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters y vaya alpárrafo "" orderby "conmúltiples"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
Podemos obtenerel resultado deseado con lameta consulta de 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 obtener unaguíamás detallada sobre lameta consulta,sigaesteblog: 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/
-
¿Puedo saberpor quéeste valor de `post_per_page`es -1?May i know why this `post_per_page` value is -1?
- 0
- 2018-04-27
- Abhay
-
@AbhayGawade Puede limitarelnúmeromáximo de resultados usandoeseparámetro,-1 significa sin límite.@AbhayGawade You can limit max number of results using that parameter, -1 means no limit.
- 1
- 2018-06-20
- Kush
Megustaríaenumerartodas laspublicaciones quetienen una clave de
cp_annonceur
conel valorprofessionnel
.