0

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

1 Answers1

0

Tienes el meta utf en tu HTML?

esa puede ser la razon, aqui el tag por si no lo tenias:

<meta charset="utf-8"> 

<meta http-equiv="content-type" content="text/html; charset=utf-8">

Son iguales los resultados con cualquiera de los dos tags

Si tienes alguna duda comenta.

Suerte.