[WordPress] ダウンロード可能な製品 woocommerce でオーディオ ファイルを作成します。

スポンサーリンク

質問

信頼あなたの一日を果たします。私は、フロント エンドからダウンロード可能な woocommerce 製品を作成する必要があります。製品の記事を添付ファイルとしてオーディオ ファイルを追加のリンクを作成することができたが、ちょうどあなたのよう、ダッシュ ボードからダウンロード可能な woocommerce 製品を転記する際のお支払い後この添付ファイルをダウンロードする必要があります。ダッシュ ボードで私の製品を既に見ることができますを手動でダウンロードをチェックし、ダッシュ ボードからファイルを追加しました。どのように自動的に転記されますフロント エンドからダウンロード可能な製品を作ることができるの助けを必要としてください。常に人々 をありがとう。私のコードのスニペットです

// ADD THE FORM INPUT TO $new_post ARRAY
    $new_post = array(
    'post_title'    =>   $title,
    'post_content'  =>   $description,
    'post_category' =>   array($_POST['cat']),  
    'tags_input'    =>   array($tags),
    'post_status'   =>   'draft',          
    'post_type' =>   'product',  //'post',page' or use a custom post type if you want to
    'rating'    =>   $myrating
    );

//SAVE THE POST
$pid = wp_insert_post($new_post);

         //KEEPS OUR COMMA SEPARATED TAGS AS INDIVIDUAL
wp_set_post_tags($pid, $_POST['post_tags']);

//REDIRECT TO THE NEW POST ON SAVE
$link = get_permalink( $pid );
wp_redirect( $link );

//ADD OUR CUSTOM FIELDS
add_post_meta($pid, 'rating', $myrating, true);

//INSERT OUR MEDIA ATTACHMENTS
if ($_FILES) {
    foreach ($_FILES as $file => $array) {
    $newupload = insert_attachment($file,$pid);
    // $newupload returns the attachment id of the file that

    }

} // END THE IF STATEMENT FOR FILES

の答え

何をすべきというは、あなたの functions.php このコードを追加します

function user_downloads($order_id) {
// Variables to change
$download_file_id = CUSTOM_ID_OR_ATTACHMENT_ID_OF_FILE;
$user_id = USER_ID;
$product_id = PRODUCT_ID;


  $order = new WC_Order( $order_id );
  if($order['product_id'] == $product_id ){

    $user_downloads = get_user_meta($user_id, 'user_downloads', TRUE);
    if(!empty($user_downloads)){
        $user_downloads = $user_downloads.','.$download_file_id;
        update_user_meta($user_id, 'user_downloads', $user_downloads );
    }else{
        update_user_meta($user_id, 'user_downloads', $user_downloads );
    }
  }
}
add_action( 'woocommerce_order_status_completed', 'user_downloads' );

このコードは woocommerce にフックし、注文の完了時まで新しいユーザー メタ データが作成されます。すべてのユーザーが指定した製品のお支払いになる必要があります新しいメタ項目 ‘user_downloads’ と呼ばれます。この項目の値はコンマいくつか暗号化された id または添付ファイル id の値になります。[テンプレート] ページで行う必要がありますすべては今

$user_downloads = get_user_meta($user_id, 'user_downloads', TRUE);
$user_downloads = explode(',',$user_downloads);

foreach($user_downloads as $user_download){
   echo '<a href="'.wp_get_attachment_url( $user_downloads[$user_download] ).'">Downloadable File</a>';
}

しすべてのこれらの項目は多くの製品を買うことができるこの方法を彼らがそれらをダウンロードすることができますから自分のユーザー プロファイルでスタックを取得します

http://stackoverflow.com/questions/28602548/create-a-downloadable-product-with-audio-file-in-woocommerce

スポンサーリンク

Leave a Reply