it-swarm.com.de

Wie lade ich ein Bild hoch und sende die Bild-ID zurück?

Ich muss Bilder von einer URL importieren und die Bild-ID zurückgeben

ist es möglich, eine Funktion wie diese zu erstellen?

    <?php
$link = 'https://mosaic01.ztat.net/vgs/media/pdp-zoom/NI/11/3D/03/4D/11/[email protected]';
$title = 'the image title';
$alt = 'the image alt';

$image_id = insert_image($link, $title, $alt);

?>
1
Rick Groen

Schauen Sie sich die Seitenladebilder an. media_sideload_image() / wp_handle_sideload() und erhalte die ID von der URL. attachment_url_to_postid .

<?php

$url = "http://wordpress.org/about/images/logos/wordpress-logo-stacked-rgb.png";
$title = "Some Image Title";
$alt_text = "Some Alt Text";

require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');

// sideload the image --- requires the files above to work correctly
$src = media_sideload_image( $url, null, null, 'src' );

// convert the url to image id
$image_id = attachment_url_to_postid( $src );

if( $image_id ) {

    // make sure the post exists
    $image = get_post( $image_id );

    if( $image) {

        // Add title to image
        wp_update_post( array (
            'ID'         => $image->ID,
            'post_title' => "Some Image Title",
        ) );

        // Add Alt text to image
        update_post_meta($image->ID, '_wp_attachment_image_alt', $alt_text);
    }
}
0
jgraup

Welche ID? Die HTML-ID? Wenn nicht, benötigen Sie möglicherweise einen regulären Ausdruck, um die URL zu durchsuchen und ein Muster zu finden, das Sie als ID zuweisen können. Diese Frage ist ein wenig verwirrend. Können Sie mir dies einfach erklären?

0