概要
woocommerce_deleted_order_downloadable_permissions
アクションは、WooCommerceにおいて、ダウンロード可能な商品が関連付けられた注文が削除された場合に実行されるフックです。このアクションを使用することで、特定のアクションをトリガーすることができ、例えば、購入履歴の管理やダウンロード権限の調整に役立ちます。
主に以下のような場合に使用されることが多いです:
1. ダウンロードリンクを無効化する。
2. ユーザーのダウンロード権限をリセットする。
3. 管理者への通知メールを送信する。
4. ログを記録する。
5. データベースの整合性を保つためのカスタム処理を実行する。
6. 特定の会計処理を行う。
構文
do_action( 'woocommerce_deleted_order_downloadable_permissions', $order_id );
パラメータ
$order_id
(int): 削除された注文のID。
戻り値
なし。
使用可能なプラグイン・バージョン
- WooCommerceのバージョン: 2.6.0 以降。
- WordPressのバージョン: 4.0 以降。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: ダウンロードリンクの無効化
add_action( 'woocommerce_deleted_order_downloadable_permissions', 'disable_download_link_on_order_delete' );
function disable_download_link_on_order_delete( $order_id ) {
$order = wc_get_order( $order_id );
$items = $order->get_items();
foreach ( $items as $item ) {
$download_ids = $item->get_download_IDs();
foreach ( $download_ids as $download_id ) {
// ダウンロードリンクの権限を無効化する処理
}
}
}
このコードは、削除された注文のダウンロードリンクを無効化するためのものです。
サンプルコード2: 管理者への通知メール
add_action( 'woocommerce_deleted_order_downloadable_permissions', 'notify_admin_on_order_delete' );
function notify_admin_on_order_delete( $order_id ) {
$to = get_option( 'admin_email' );
$subject = '注文が削除されました';
$message = '注文ID ' . $order_id . ' が削除されました。';
wp_mail( $to, $subject, $message );
}
このコードは、注文が削除された際に管理者に通知メールを送信します。
サンプルコード3: ログの記録
add_action( 'woocommerce_deleted_order_downloadable_permissions', 'log_order_deletion' );
function log_order_deletion( $order_id ) {
$log_message = '注文ID ' . $order_id . ' が削除されました。';
error_log( $log_message );
}
このコードは、注文が削除されたことをログに記録します。
サンプルコード4: データベースの整合性チェック
add_action( 'woocommerce_deleted_order_downloadable_permissions', 'check_database_integrity_after_order_delete' );
function check_database_integrity_after_order_delete( $order_id ) {
// データベースの整合性をチェックする処理
}
このコードは、注文削除後にデータベースの整合性をチェックします。
サンプルコード5: カスタマイズした会計処理
add_action( 'woocommerce_deleted_order_downloadable_permissions', 'custom_accounting_process' );
function custom_accounting_process( $order_id ) {
// 会計システムへのインテグレーション処理
}
このコードは、注文が削除された際に特定の会計処理を行うためのものです。