Soporte » WordPress Avanzado » No me funciona wp_oembed_get() en versión 5.24

  • Resuelto katmandu25

    (@katmandu25)


    Hola.

    Hemos actualizado nuestra web a WordPress 5.2.4 y de repente han dejado de funcionar los vídeos que teníamos embebidos en la misma.

    Rastreando el código he llegado hasta wp-includes/http.php. En este PHP hay un tratamiento en la función wp_http_validate_url() que difiere entre la versión anterior de WordPress y la actual.

    Es esta

    if ( ! $same_host ) {
    $host = trim( $parsed_url[‘host’], ‘.’ );
    if ( preg_match( ‘#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#’, $host ) ) {
    $ip = $host;
    } else {
    $ip = gethostbyname( $host );
    if ( $ip === $host ) // Error condition for gethostbyname()
    $ip = false; // ESTO PONE EN 5.2.3
    return false; // ESTO PONE EN 5.2.4

    Si sustituyo el código el vídeo, proveniente de youtube, se pinta perfectamente.

    ¿Alguien ha notado este problema?

    Un saludo.

Viendo 2 respuestas - 1 de 2 (de 2 total)
  • Hola @katmandu25

    No hay ninguna noticia de eso al respecto.
    Puede ser que haya alguna incompatibilidad con algún plugin que tengas instalado o el tema.

    ¿Has probado con la 5.3?
    ¿Cúando incluyes un nuevo video te ocurre eso o sólo con los antiguos?

    katmandu25

    (@katmandu25)

    Hola Adrián.

    Muchas gracias por tu respuesta. He conseguido averiguar cual es el problema. Al parecer la función gethostbyname() que devuelve la ip a partir del dominio no funciona en nuestra plataforma. El retorno si esta función falla es el mismo dominio, por lo que se cumple la condición

    if ( $ip === $host ) // Error condition for gethostbyname()

    Como te decía en el mensaje de arriba el código ha cambiado de:
    $ip = false; // ESTO PONE EN 5.2.3
    a esto
    return false; // ESTO PONE EN 5.2.4

    Entiendo que la versión 5.3 (lo acabo de comprobar en Github) continua manteniendo el cambio, por lo que producirá el error igualmente.

Viendo 2 respuestas - 1 de 2 (de 2 total)
  • Debes estar registrado para responder a este debate.