0 レビュー
0 回答
php-メールアドレスをWoocommerceクーポンコードとして使用する
メールアドレスをwoocommerceクーポンコードとして使用する関数を作成しようとしています。私のコードは以前は完璧に機能していましたが、突然機能しなくなりました。このwoocommerce_get_shop_coupon_data
フィルターを使用して、クーポンデータを取得します。助けてください。
<?php
add_filter('woocommerce_get_shop_coupon_data'、'firefog_create_coupon'、10、2);
function firefog_create_coupon($ data、$ code){
グローバル$wpdb;
//クーポン入力値を取得する
$クーポンコード=$_POST['クーポンコード'];
//ユーザー入力がメールのようであることを確認します
if(filter_var($クーポン_コード、FILTER_VALIDATE_EMAIL)){
$ code =$クーポンコード;
}
//クーポンがデータベースにすでに作成されているかどうかを確認します
$ sql = $ wpdb-> prepare( "SELECT ID FROM $ wpdb-> posts WHERE post_title =%s AND post_type ='shop_coupon' AND post_status ='publish' ORDER BY post_date DESC LIMIT 1;"、$ code);
$クーポン_id=$ wpdb-> get_var($ sql);
if(empty($クーポン_id)){
//必要なプロパティでクーポンを作成します
$ data = array(
'discount_type' =>'パーセント'、
'coupon_amount' => 15、//値
'individual_use' =>'false'、
'product_ids' => array()、
'exclude_product_ids' => array()、
'usage_limit' =>''、
'usage_limit_per_user' =>''、//制限
'limit_usage_to_x_items' =>''、
'usage_count' =>''、
'expiry_date' => '2020-12-31'、// YYYY-MM-DD
'free_shipping' =>'false'、
'product_categories' => array()、
'exclude_product_categories' => array()、
'exclude_sale_items' =>'false'、
'minimum_amount' =>''、
'maximum_amount' =>''、
'customer_email' => array()
);
//クーポンをデータベースに保存します
$クーポン=配列(
'post_title' => $ code、
'post_content' =>''、
'post_status' =>'publish'、
'post_author' => 1、
'post_type' =>'shop_coupon'
);
$ new_coupon_id = wp_insert_post($クーポン);
//$data値をpostmetaテーブルに書き込みます
foreach($ data as $ key => $ value){
update_post_meta($ new_coupon_id、$ key、$ value);
}
$dataを返します。
}
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。