Come ottenere l'ID del post da un meta valore

14 mar 2017, 18:45:43
Visualizzazioni: 14.8K
Voti: 6

Per favore guarda l'immagine qui sotto. Voglio ottenere l'post_id dal meta_value = 93. Come posso farlo?

Screenshot che mostra i meta valori nel database WordPress

4
Commenti

Ho fatto così e ora funziona: `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

Tieni presente che non è un metodo consigliato e le query potrebbero essere lente, rischiando di causare problemi di stabilità al sito. Comunque sono contento che tu abbia trovato una soluzione.

WebElaine WebElaine
14 mar 2017 18:56:02

Usa l'API meta, è memorizzata nella cache e ottimizzata $meta = get_post_meta(96, '_wbs_crosssells', true);

Ismail Ismail
14 mar 2017 23:24:23
Tutte le risposte alla domanda 2
3

Prova questo. Funzionerà.

$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 );

Fammi sapere se funziona o no.

14 mar 2017 20:49:03
Commenti

sì. Ora funziona, come nel mio commento precedente

huykon225 huykon225
15 mar 2017 03:13:58

ok. allora va bene.

Thilak Thilak
15 mar 2017 05:48:32

Intendi 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 tabella dovrebbe essere $wpdb->prefix.'postmeta';

27 mar 2019 07:34:10
Commenti

Dovrebbe essere un commento su un'altra risposta. Quando raggiungerai 50 punti di reputazione, potrai commentare qualsiasi post.

nmr nmr
27 mar 2019 10:53:01