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);
?>
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);
}
}
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?