Quiero mostrar unos datos concretos de mi base de datos en un widget de mi wordpress mediante una funcion php y una consulta a una base de datos MySQL, pero el problema que estoy teniendo es que se muestra � en las letras con acento. Mi HTML tiene esta formateado en UTF-8 y mi base de datos también. Esta es mi funcion php:
function show_venda(){
$sql = "SELECT * FROM wp_posts WHERE post_type = 'listing' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 6";
$query = mysqli_query($conexion, $sql);
$html_code = '<section class="widget featured-listings">';
while ($data = mysqli_fetch_array($query)) {
$id = $data['ID'];
$sql_sentence = "SELECT * FROM wp_postmeta WHERE post_id = '$id' AND meta_key LIKE '_listing%'";
$qry = mysqli_query($conexion, $sql_sentence);
while ($result = mysqli_fetch_array($qry)) {
if ($result['meta_key'] == '_listing_text') {
$text = $result['meta_value'];
}elseif ($result['meta_key'] == '_listing_price') {
$price = $result['meta_value'];
}elseif ($result['meta_key'] == '_listing_address') {
$address = $result['meta_value'];
}elseif ($result['meta_key'] == '_listing_city') {
$city = $result['meta_value'];
}
}
$html_code .= '
<div class="listing entry">
<div class="widget-wrap">
<div class="listing-wrap">
<span class="listing-price">'.$price.' €</span>
<span class="listing-text">'.$text.'</span>
<span class="listing-address">'.$address.'</span>
<span class="listing-city-state-zip">'.$city.'</span>
</div>
</div>
</div>';
}
$html_code .= '</section>';
return $html_code;
}
add_shortcode('show_venda', 'show_venda');