我不能以编程方式设置图像广告

时间:2022-01-03 作者:Jose

我在尝试将图像设置为特色时遇到问题。我不知道失败在哪里,我从同一台服务器的URL上传图像,然后尝试将其设置为特色。代码上载图像,但不将其设置为特色。我使用的代码是:

$fotoid = media_sideload_image( $imagesres."/".$row->foto1, $restaurantid, \'\' );
$attach_id = wp_insert_attachment($fotoid, $row->foto1, $restaurantid);
$attach_data = wp_generate_attachment_metadata( $attach_id, $row->foto1 );
wp_update_attachment_metadata( $attach_id, $attach_data );
set_post_thumbnail($restaurantid, $attach_id);
在哪里$restauranid 是帖子的ID。$imageres 是图像的url,并且$row->foto1 是图像标题和扩展名。

谢谢

1 个回复
SO网友:Cheeta

我也遇到了同样的问题,我通过使用此代码成功地解决了这个问题。

//insert featured image
function Generate_Featured_Image( $featured_image, $product_id  ){

    $upload_dir = wp_upload_dir();
    $image_data = file_get_contents($featured_image);
    //$filename = basename($featured_image);
    $filename = basename($image_url, \'.jpg\') . (string) rand(0, 5000) . \'.jpg\';
    if(wp_mkdir_p($upload_dir[\'path\']))     $file = $upload_dir[\'path\'] . \'/\' . $filename;
    else                                    $file = $upload_dir[\'basedir\'] . \'/\' . $filename;
    file_put_contents($file, $image_data);

    $wp_filetype = wp_check_filetype($filename, null );
    $attachment = array(
        \'post_mime_type\' => $wp_filetype[\'type\'],
        \'post_title\' => sanitize_file_name($filename),
        \'post_content\' => \'\',
        \'post_status\' => \'inherit\'
    );
    $attach_id = wp_insert_attachment( $attachment, $file, $product_id );
    require_once(ABSPATH . \'wp-admin/includes/image.php\');
    $attach_data = wp_generate_attachment_metadata( $attach_id, $file );
    $res1= wp_update_attachment_metadata( $attach_id, $attach_data );
    $res2= set_post_thumbnail( $product_id, $attach_id );
}
Generate_Featured_Image( $featured_image,   $product_id );

您需要做的是在调用函数时传递参数。代码转到主题或子主题的函数。php文件。