0
我想通過php腳本完全在wordpress之外上傳圖片到wordpress。我知道我必須將數據插入到哪些表中。但我注意到,如果我通過正常的方式通過wordpress創建各種大小的圖像,並保存在數據庫中。有沒有一種方法可以使用完全在wordpress之外的腳本來模擬圖片的上傳。將圖片上傳到wordpress並在db中保存詳細信息
我想通過php腳本完全在wordpress之外上傳圖片到wordpress。我知道我必須將數據插入到哪些表中。但我注意到,如果我通過正常的方式通過wordpress創建各種大小的圖像,並保存在數據庫中。有沒有一種方法可以使用完全在wordpress之外的腳本來模擬圖片的上傳。將圖片上傳到wordpress並在db中保存詳細信息
是的,這將是這樣的:
<?php
header('Response: HTTP/1.1 200 OK');
define('WP_USE_THEMES', false);
require('../../../../wp-load.php');
$uploadedfile = $_FILES['image'];
if($uploadedfile['size'] > 0){
$upload_overrides = array('test_form' => false);
if (! function_exists('wp_handle_upload')) require_once(ABSPATH . 'wp-admin/includes/file.php');
$movefile = wp_handle_upload($uploadedfile, $upload_overrides);
if ($movefile) {
$wp_filetype = $movefile['type'];
$filename = $movefile['file'];
$wp_upload_dir = wp_upload_dir();
$attachment = array(
'guid' => $wp_upload_dir['url'] . '/' . basename($filename),
'post_mime_type' => $wp_filetype,
'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment($attachment, $filename);
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_data = wp_generate_attachment_metadata($attach_id, $filename);
wp_update_attachment_metadata($attach_id, $attach_data);
die(json_encode(array('type'=>'error', 'text' => 'Ok', 'error' => 0)));
}else{
die(json_encode(array('type'=>'error', 'error' => 1)));
}
}
die(json_encode(array('type'=>'error', 'error' => 2)));
}
?>
請注意,從來就粘貼我的代碼,you'll有那麼一點點的工作;)
偉大的作品的人,謝謝 – user2327579