私はフロントエンドから製品をアップロードするためにベンダーに提供したいWoocommerceサイトを作成しています。しかし、私はwoocommerceのダウンロード可能な製品を追加しようとしているところに固執しています。Woocommerceにダウンロード可能な製品にプログラムでダウンロードを追加する
は、ここに私の現在のコードです:
//Let's upload the download file Zip
$zipattachment_id = upload_music_files($music_ID, $musicZip); //This is my custom function which returns attachment id after file upload
$download_file_name = $musicZip['name'];
$download_file_url = wp_get_attachment_url($zipattachment_id);
$md5_download_num = md5($download_file_url);
//creating array of download product
$downloadable_file[$md5_download_num] = array(
'id' => $md5_download_num,
'name' => $download_file_name,
'file' => $download_file_url,
'previous_hash' => ''
);
$downloadMusic = serialize($downloadable_file);
// adding downloadble file with the new array
add_post_meta($music_ID, '_downloadable_files', $downloadMusic);
しかし、私は、バックエンドから何のダウンロード可能なファイルの終了を製品の編集を開いていないとき。ここで
がseriallized配列の例リターンです:
a:1:{s:32:"22618d7f028803f57f98ab6b21277387";a:4:{s:2:"id";s:32:"22618d7f028803f57f98ab6b21277387";s:4:"name";s:5:"1.zip";s:4:"file";s:71:"http://mydomain/wp-content/uploads/2017/12/5a2e22cecaca6_1.zip";s:13:"previous_hash";s:0:"";}}
私は、woocommerceの最新バージョンで働いている誰もが私が間違っているのものを私に提案することができ、何が正しい方法することができますか?
ありがとう:コード内のいくつかの変更を行うプロダクトID
global $product;
ORから
global $post;
と$product_id = $post->ID;
から直接WC_Product
オブジェクト、。 –