Cómo obtener el ID de un post a partir de un meta valor

14 mar 2017, 18:45:43
Vistas: 14.8K
Votos: 6

Por favor mira la imagen de abajo. Quiero obtener el post_id a partir del meta_value = 93. ¿Cómo puedo hacer esto?

Consulta de meta valores en la base de datos de WordPress

4
Comentarios

He hecho esto y ahora está funcionando: `global $wpdb; $sql = $wpdb->prepare("SELECT post_id FROM " . $wpdb->prefix . "postmeta WHERE meta_key = '_wbs_crosssells' && meta_value like '%%%s%%'",serialize($product_id)); $res = $wpdb->get_results( $sql, OBJECT );

return $res;`

huykon225 huykon225
14 mar 2017 18:55:04

Solo ten en cuenta que no es un método recomendado y las consultas pueden ejecutarse lentamente, potencialmente causando problemas de estabilidad en el sitio. Aunque me alegra que hayas encontrado una solución.

WebElaine WebElaine
14 mar 2017 18:56:02

Usa la API de meta, está en caché y optimizada $meta = get_post_meta(96, '_wbs_crosssells', true);

Ismail Ismail
14 mar 2017 23:24:23
Todas las respuestas a la pregunta 2
3

Prueba esto. Funcionará.

$prepare_guery = $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta where meta_key ='_Wps_crossells' and meta_value like '%%d%'", $meta_value );
$get_values = $wpdb->get_col( $prepare_guery );

Déjame saber si está funcionando o no.

14 mar 2017 20:49:03
Comentarios

sí. Ahora está funcionando, igual que mi comentario anterior

huykon225 huykon225
15 mar 2017 03:13:58

ok. Entonces bien.

Thilak Thilak
15 mar 2017 05:48:32

Te refieres a FROM $wpdb->postmeta WHERE.

nmr nmr
27 mar 2019 10:49:30
1
global $wpdb;

$tbl = $wpdb->prefix.'postmeta';

$prepare_guery = $wpdb->prepare( "SELECT post_id FROM $tbl where meta_key ='_Wps_crossells' and meta_value like '%%d%'", $meta_value );

$get_values = $wpdb->get_col( $prepare_guery );

Nota: La tabla debe ser $wpdb->prefix.'postmeta';

27 mar 2019 07:34:10
Comentarios

Debería ser un comentario en otra respuesta. Cuando obtengas 50 puntos de reputación podrás comentar en cualquier publicación.

nmr nmr
27 mar 2019 10:53:01