Cambiar el tamaño de las imágenes en WordPress usando su URL

2 minutos de lectura

Necesito cambiar el tamaño de algunas imágenes en algunas de mis publicaciones. Puedo obtener la URL de la imagen almacenada en postmeta creada usando el Complemento de tipos.
Entonces, usando postmeta puedo obtener la URL, pero ¿cómo cambiar el tamaño de las imágenes de un tipo de publicación específico?

  • ¿Necesita cambiar el tamaño de sus imágenes en algunas de sus publicaciones o necesita crear algún formato para crear publicaciones con el tamaño de imagen personalizado estándar?

    – Desarrollo JIT

    15 de diciembre de 2014 a las 5:43

  • cambiar el tamaño de la imagen en algunas de las publicaciones

    usuario4361125

    15 de diciembre de 2014 a las 6:27


  • ¿Has intentado usar el estilo en línea en img etiqueta de tu publicación? Creo que sabe que wordpress tiene una vista html en el formulario de envío de publicaciones en el panel de administración.

    – Desarrollo JIT

    15 de diciembre de 2014 a las 7:01

avatar de usuario
sagin

Primero debe encontrar la identificación de la imagen adjunta de la URL de la imagen. Para obtener una identificación de imagen adjunta desde la URL de la imagen, agregue la siguiente función en su tema functions.php expediente:

function pn_get_attachment_id_from_url( $attachment_url="" ) {
    global $wpdb;

    $attachment_id = false;

    // If there is no url, return.
    if ('' == $attachment_url)
        return;

    // Get the upload directory paths
    $upload_dir_paths = wp_upload_dir();

    // Make sure the upload path base directory exists in the attachment URL, to verify that we're working with a media library image
    if (false !== strpos($attachment_url, $upload_dir_paths['baseurl'])) {

        // If this is the URL of an auto-generated thumbnail, get the URL of the original image
        $attachment_url = preg_replace('/-\d+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '', $attachment_url);

        // Remove the upload path base directory from the attachment URL
        $attachment_url = str_replace($upload_dir_paths['baseurl'] . "https://stackoverflow.com/", '', $attachment_url);

        // Finally, run a custom database query to get the attachment ID from the modified attachment URL
        $attachment_id = $wpdb->get_var($wpdb->prepare("SELECT wposts.ID FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = '_wp_attached_file' AND wpostmeta.meta_value="%s" AND wposts.post_type="attachment"", $attachment_url));
    }

    return $attachment_id;
}

Para más información lea ver url – https://philipnewcomer.net/2012/11/get-the-attachment-id-from-an-image-url-in-wordpress/

Entonces necesitamos usar la función de cambio de tamaño de imagen en function.php:

add_image_size( 'latestproperty_thumb', 370,293,true );

Para obtener la identificación del archivo adjunto de la imagen, use:

$attachid = pn_get_attachment_id_from_url($url);

Después de esta instalación https://wordpress.org/plugins/regenerate-thumbnails/. Luego vaya a Herramientas->Regenerar miniatura y regenere todas las miniaturas.

Después de eso, use esto para obtener la URL de la imagen regenerada:

$src = wp_get_attachment_image_src($attachid, 'latestproperty_thumb');

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad