Probleme cu $wpdb->get_var care nu returnează rezultate în WordPress
2 iul. 2012, 23:54:09
Vizualizări: 17.1K
Voturi: 2
Am rulat interogarea direct în mysql și am confirmat că returnează un rezultat:
mysql> SELECT * FROM wp_posts WHERE post_parent = 68 AND post_type = 'attachment' AND post_name = 'side-logo-auto2' LIMIT 1;
1 row in set (0.00 sec)
În template-ul meu, încerc același lucru:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
//$wpdb->posts reprezintă tabela wp_posts
//$post->ID este ID-ul postului curent de tip pagină,
//asociat cu pagina acestui template
global $wpdb;
$image = $wpdb->get_var(
$wpdb->prepare(
"SELECT * FROM $wpdb->posts
WHERE post_parent = %d
AND post_type = %s
AND post_name = %s
LIMIT 1
",
$post->ID,
'attachment',
'side-logo-auto2'
)
);
echo "ID-ul imaginii este {$image->ID}";
echo wp_get_attachment_image($image->ID);
endwhile; endif; ?>
$post->ID returnează 68. Totuși, valoarea atribuită lui $image nu este înregistrarea, ci null.

JohnMerlino
219
Toate răspunsurile la întrebare
1
Comentarii
Aceasta va returna doar id-ul, dar de fapt get_row era ceea ce căutam.

5 iul. 2012 22:36:57
Pentru mai multe informații https://itadminguide.com/difference-between-wpdb-get_row-get_results-get_var-and-get_query/

18 oct. 2022 12:34:08
Întrebări similare
2
răspunsuri
3
răspunsuri