概要
woocommerce_delete_email_template
アクションフックは、WooCommerce プラグインで使用されるメールテンプレートを削除する際にトリガーされるフックです。このアクションは、特定の条件に基づいてメールテンプレートを削除したい場合に利用されます。具体的には、カスタム通知の追加や、不要なメールテンプレートの削除といったシナリオで役立ちます。
よく使用される機能としては以下のようなものがあります。
- 不要なメール通知を削除する。
- 特定の条件に基づいてメールテンプレートをカスタマイズする。
- 新しいメールテンプレートを導入するための準備をする。
- メール送信前にテンプレートの存在を確認する。
- ストアに関連するカスタムメール通知を管理する。
- 一度使用したメールテンプレートを完全に削除する。
構文
add_action('woocommerce_delete_email_template', 'your_custom_function', 10, 1);
パラメータ
$template_id
: 削除されるメールテンプレートのID。
戻り値
このアクションは特に戻り値を持たず、フックされた関数内で処理を実行することが目的です。
使用可能なプラグイン / ワードプレスのバージョン
- WooCommerceのバージョン: 3.0以降
- ワードプレスのバージョン: 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_delete_email_template', function($template_id) {
// 特定のテンプレートIDに基づいて処理を行う
if ($template_id === 'customer invoice') {
remove_action('woocommerce_email_after_order_table', 'woocommerce_email_order_meta');
}
});
このコードは、メールテンプレートが削除されたときに、特定のアクションを無効にします。
サンプルコード 2
add_action('woocommerce_delete_email_template', 'custom_delete_email_template');
function custom_delete_email_template($template_id) {
// デバッグ情報を表示
if ($template_id) {
error_log("Deleted template ID: " . $template_id);
}
}
このコードは、削除されたメールテンプレートのIDを WordPress のエラーログに記録します。
サンプルコード 3
add_action('woocommerce_delete_email_template', 'log_deleted_template', 10, 1);
function log_deleted_template($template_id) {
// データベースに削除記録を保存
global $wpdb;
$wpdb->insert('wp_deleted_email_templates', array('template_id' => $template_id));
}
このコードは、削除されたメールテンプレートのIDをカスタムデータベーステーブルに保存します。
サンプルコード 4
add_action('woocommerce_delete_email_template', 'custom_template_action');
function custom_template_action($template_id) {
// 他のフックを使って、関連するアクションをフックする
do_action('template_deleted', $template_id);
}
このコードは、指定されたテンプレートIDが削除されたときに、新たなアクションフックをトリガーします。
サンプルコード 5
add_action('woocommerce_delete_email_template', 'notify_admin_about_deleted_template');
function notify_admin_about_deleted_template($template_id) {
// 管理者にメール通知を送信
wp_mail('admin@example.com', 'メールテンプレート削除', '以下のテンプレートが削除されました: ' . $template_id);
}
このコードは、削除されたメールテンプレートのIDを管理者に通知するメールを送信します。
すべてのサンプルコードは著作権フリーとし、一般的なWooCommerceの利用においてカスタマイズや管理目的で使用できるものです。