web-dev-qa-db-ja.com

画像をアップロードして画像IDを返すにはどうすればよいですか。

URLから画像をインポートして画像IDを返す必要があります

このような機能を作ることは可能ですか?

    <?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

サイドローディング画像を見てください。 media_sideload_image() / wp_handle_sideload() そしてURLからIDを取得します。 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

何のID? HTML IDは?そうでなかったら、多分あなたはidとして割り当てることができるパターンを見つけるためにURLを検索するための正規表現が必要です。この質問は少しわかりにくいですが、それについてわかりやすく説明してもらえますか。

0