将远程图片保存到wordpress特色图片中,并与文章相关联

2022-03-04 0 437

由于wordpress 特色图片的特殊性,这个保存还是比较简单的,为什么说特殊.是因为文章特色图片会与文章一起被保存到wp_posts数据表中.并且占用一条文章资源,这也就是为什么一些朋友使用wordpress发布文章会发现文章ID并不是紧挨着的,而是相差1个或2个数字.这是由于wordpress的自动保存和特色图片占用了这些资源,当然这里不进行讲解如何将这些东西保存到其他表中或者其他的优化方式.

提示

本次将使用到“方法,该方法需要使用wordpress的内置image处理方法.当然这个只是对于直接使用API独立方式.如果是正常引用,那么这个可以不用管.

//引用地址
require_once( ABSPATH . 'wp-admin/includes/image.php' );

代码示例:

 
//测试用例数据
 
$postArr[ 'img' ] = 'http://cdn.meaoo.cn/1475555917_5126.jpg';//图片LOGO
$postArr[ 'userid' ] = '223';//用户ID 这里的ID是指发布者ID
$postArr[ 'catid' ] = '123';//文章分类ID
 
//远程图片地址
$filepath = $pos[ 'img' ];
//使用函数将远程图片获取到wordpress服务器端
$get = wp_remote_get ( $filepath );
//获取文件格式
$type = wp_remote_retrieve_header ( $get , 'content-type' );
 
//判断是否图片格式文件
if( is_numeric(strpos( $type,'image'))){
 
   //进行文件重命名,并用MD5进行命名混淆
    $file_title = md5 ( date ( 'Ymd' , time () ) . mt_rand ( 1000 , 9999 ) );
    //拼接文件地址
    $file_name = $file_title . substr ( $filepath , strrpos ( $filepath , "." ) );
    //
    $file_content = wp_remote_retrieve_body ( $get );
    $mirror = wp_upload_bits ( $file_name , null , $file_content );
 
    //写入特色图片需要的数据
    $thum[ 'post_author' ] = $userID;//发布者ID
    $thum[ 'post_title' ] = $file_title;//文章标题
    $thum[ 'post_parent' ] = $aid;
    $thum[ 'guid' ] = $mirror[ 'url' ];
    $thum[ 'post_type' ] = 'attachment';
    $thum[ 'post_mime_type' ] = $type;
    $thum[ 'post_status' ] = 'inherit';//文章状态
    //以文章形式写入到数据库
    $attachment_id = wp_insert_post ( $thum );
    set_post_thumbnail ( $aid , $attachment_id );
    update_post_meta ( $aid , '_thumbnail_id' , $attachment_id );
 
    update_post_meta($attachment_id,'_wp_attached_file', ltrim( wp_upload_dir()['subdir'],'/') .'/'.$file_name );
    $attach_data = wp_generate_attachment_metadata( $attachment_id, ltrim( wp_upload_dir()['path'],'/') .'/'.$file_name );
    wp_update_attachment_metadata( $attachment_id, $attach_data  );
}
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

所有文章均来自网络,或文章作者提供,版权归原作者所有,如有侵权请及时联系本站管理员删除!

京强资源网 架设部署 将远程图片保存到wordpress特色图片中,并与文章相关联 https://nctcpc.com/jq-448.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情
发表评论
暂无评论