J'ai besoin d'importer des images à partir d'une URL et de renvoyer l'identifiant de l'image
est-il possible de créer une fonction comme celle-ci?
<?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);
?>
Regardez les images à chargement latéral. media_sideload_image()
/ wp_handle_sideload()
et récupère l'ID de l'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);
}
}
Quel identifiant? L'identifiant HTML? Sinon, vous avez peut-être besoin d'une expression rationnelle pour rechercher l'URL afin de trouver un modèle que vous pouvez affecter en tant qu'id. Cette question est un peu déroutante, pouvez-vous me donner une explication simple à ce sujet?