EDD_Downloadクラスは、特定のダウンロードに関するデータの取得、新しいダウンロードの作成、既存のダウンロードの編集に使用されます。 このクラスで管理できる公開プロパティは次のとおりです。
- $ID = 0;
- $post_author = 0;
- $post_date = ‘0000-00-00 00:00:00’;
- $post_date_gmt = ‘0000-00-00 00:00:00’;
- $post_content = ”;
- $post_title = ”;
- $post_excerpt = ”;
- $post_status = ‘publish’;
- $comment_status = ‘open’;
- $ping_status = ‘open’;
- $post_password = ”;
- $post_name = ”;
- $to_ping = ”;
- $pinged = ”;
- $post_modified = ‘0000-00-00 00:00:00’;
- $post_modified_gmt = ‘0000-00-00 00:00:00’;
- $post_content_filtered = ”;
- $post_parent = 0;
- $guid = ”;
- $menu_order = 0;
- $post_mime_type = ”;
- $comment_count = 0;
- $filter;
注意:上記のプロパティは、WP_Postのプロパティから継承されており、同一です。
ダウンロードの作成
新しいダウンロードを作成するには、まずクラスをインスタンス化し、次にcreate()メソッドを実行します。
$new_download = new EDD_Download; $new_download->create();
これにより、デフォルト設定(タイトルが「新規ダウンロード商品」のドラフト)で単一のダウンロードが作成されます。
createメソッドは
wp_insert_post()を使用するため、create()にはwp_insert_post()が受け入れられる任意の引数を渡すことができます。 以下のようなものでも問題なく動作します。
$new_download = new EDD_Download; $download_args = array( 'post_title' => 'My eBook', 'post_content' => 'This is my eBook. Nice long description.', 'post_status' => 'publish', ) $new_download->create( $download_args );
既存のダウンロードの読み込み
これは、インスタンス化中にダウンロードIDをクラス名に渡すだけで実現されます。
例:
$my_download = new EDD_Download( 1492 );
データ取得メソッド
EDD_Downloadには、ダウンロードに関するデータの取得、メタデータの操作、さまざまなテストを行うためのさまざまなメソッドがあります。
get_ID()
このメソッドは、ダウンロードのIDを単純に返します。
例:
$download_id = $my_download->get_ID();
返り値:整数、例:1492。
get_price()
このメソッドは、通貨記号なしの二重形式でダウンロードの価格を返します。
$download_price = $my_download->get_price();
返り値:二重形式、例:9.99。この結果に対して数学的な演算が可能です。
get_prices()
このメソッドは、通貨記号なしの二重形式でダウンロードの可変価格の配列を返します。
$variable_prices = $my_download->get_prices();
次のような価格の配列を返します:
Array
(
[1] => Array
(
[index] => 1
[name] => Regular
[amount] => 9.99
)
[2] => Array
(
[index] =>
[name] => Unleaded
[amount] => 19.99
)
is_single_price_mode()
単一価格モードが有効か無効かを判断します。 単一価格モードとは、複数の価格オプションを同時に購入できるかどうかを指します。 Easy Digital Downloadsのユーザーインターフェースでは、そのチェックボックスは「可変価格」の下にあります。

$is_single_price_mode = $my_download->is_single_price_mode();
返り値:trueまたはfalse
has_variable_prices()
特定のダウンロードで可変価格が有効か無効かを判断します。
$download_price = $my_download->has_variable_prices();
返り値:trueまたはfalse
get_files()
このメソッドは、ダウンロードに添付されているファイルの配列を返します。
$my_files = $my_download->get_files();
次のような価格の配列を返します:
Array
(
[0] => Array
(
[attachment_id] => 10
[name] => Be Kind To Your Web Footed Friends
[file] => https://example.com/wp-content/uploads/edd/2015/05/be_kind_to_your_web_footed_friend.mp3
[condition] => all
)
)
get_file_download_limit()
このメソッドは、このファイルがダウンロードできる回数を取得します。
例:
$download_limit = $my_download->get_file_download_limit();
返り値:整数、例:100。
get_file_price_condition()
製品に可変価格がある場合、1つ以上のファイルが購入可能になります。「価格割り当て」の下で、ファイルはすべての価格オプションに関連付けることも、特定のオプションのみに関連付けることもできます。 以下の例では、ファイルはトラック1、2、3、およびフルアルバムに関連付けられています。

例:
$price_condition = $my_download->get_file_price_condition();
返り値:整数、例:2。
get_type()
ダウンロードがバンドルかデフォルトかを示す値を返します。
例:
$download_type = $my_download->get_type();
返り値:「default」または「bundle」のいずれか
is_bundled_download()
これがバンドルされたダウンロードであるかどうかを判断します。
例:
$is_bundled_download = $my_download->is_bundled_download();
返り値:trueまたはfalse
get_bundled_downloads()
バンドルされたダウンロード内のアイテムのダウンロードIDを取得します。
例:
$bundled_downloads = $my_download->get_bundled_downloads();
返り値: 以下のようなダウンロードIDの配列:
Array
(
[0] => 68
[1] => 114
)
注意: get_bundled_downloads() は、製品がバンドルでない場合は空の配列を返します。そのため、以下のような処理を検討してください:
if ( $my_download->is_bundled_download() ) {
$bundled_downloads = $my_download->get_bundled_downloads();
}
get_notes()
ダウンロードのメモを文字列として返します。
例:
$download_notes = $my_download->get_notes();
返り値: メモが文字列として返され、改行が維持されます。
get_sku()
ダウンロードのSKUを文字列として返します。
例:
$download_sku = $my_download->get_sku();
返り値: SKUが文字列として返されます。
get_button_behavior()
購入ボタンをクリックしたときの動作を返します。
例:
$download_button_behavior = $my_download->get_button_behavior();
返り値: 「今すぐ購入」の場合は「direct」、または「カートに追加」の場合は「add_to_cart」のいずれか。
get_sales()
完了したこのアイテムの販売数を返します。
例:
$download_sales = $my_download->get_sales();
返り値: 42のような整数。
increase_sales()
販売数を1増やします。入力は受け付けず、1より多く増やすことはできません。
例:
$increase_sales = $my_download->increase_sales();
返り値: 失敗した場合はfalse、または新しい販売数の整数。
decrease_sales()
販売数を1減らします。入力は受け付けず、1より多く減らすことはできません。
例:
$decrease_sales = $my_download->decrease_sales();
返り値: 失敗した場合はfalse、または新しい販売数の整数。
get_earnings()
このダウンロードの総収益を返します。
例:
$download_earnings = $my_download->get_earnings();
返り値: 152.69のような浮動小数点数。
increase_earnings( mixed $amount = 0 )
ダウンロードの総収益を入力された金額だけ増やします。
例:
$increase_earnings = $my_download->increase_earnings();
返り値: 失敗した場合はfalse、または新しい金額(例: 247.39)の浮動小数点数。
decrease_earnings( mixed $amount = 0 )
ダウンロードの総収益を入力された金額だけ減らします。
例:
$decrease_earnings = $my_download->decrease_earnings();
失敗した場合は false、または新しい金額の浮動小数点数(例: 147.39)を返します。
is_free( mixed $price_id = false )
ダウンロードが無料かどうか、または指定された価格IDが無料かどうかを確認します。
例:
$is_free = $my_download->is_free();
返り値:trueまたはfalse
