مشکل ثبت یک خطا ووکامرس در ارور لاگ

  • نویسنده موضوع sir1
  • تاریخ شروع

sir1

کاربر عضو
با سلام
با توجه به اینکه محصولات سایتم دیجیتال هستند فلید های اضافی بخش پرداخت را با کد زیر در FUNCTIONS.PHP حذف کردم.
این ارور مربوط به همین کدی هست که به قالب اضافه کردم. لطفا راهنمایی کنید که چطوری این مشکل را حل کنم.
پیام خطا:
کد:
[02-Dec-2019 08:35:57 UTC] خطای Commands out of sync; you can't run this command now در پایگاه‌داده وردپرس برای دستور INSERT INTO *******_woocommerce_sessions (`session_key`, `session_value`, `session_expiry`) VALUES ('26896', 'a:8:{s:4:\"cart\";s:6:\"a:0:{}\";s:11:\"cart_totals\";s:367:\"a:15:{s:8:\"subtotal\";i:0;s:12:\"subtotal_tax\";i:0;s:14:\"shipping_total\";i:0;s:12:\"shipping_tax\";i:0;s:14:\"shipping_taxes\";a:0:{}s:14:\"discount_total\";i:0;s:12:\"discount_tax\";i:0;s:19:\"cart_contents_total\";i:0;s:17:\"cart_contents_tax\";i:0;s:19:\"cart_contents_taxes\";a:0:{}s:9:\"fee_total\";i:0;s:7:\"fee_tax\";i:0;s:9:\"fee_taxes\";a:0:{}s:5:\"total\";i:0;s:9:\"total_tax\";i:0;}\";s:15:\"applied_coupons\";s:6:\"a:0:{}\";s:22:\"coupon_discount_totals\";s:6:\"a:0:{}\";s:26:\"coupon_discount_tax_totals\";s:6:\"a:0:{}\";s:21:\"removed_cart_contents\";s:6:\"a:0:{}\";s:8:\"customer\";s:749:\"a:26:{s:2:\"id\";s:5:\"26896\";s:13:\"date_modified\";s:25:\"2019-11-30T09:44:24+03:30\";s:8:\"postcode\";s:0:\"\";s:4:\"city\";s:0:\"\";s:9:\"address_1\";s:0:\"\";s:7:\"address\";s:0:\"\";s:9:\"address_2\";s:0:\"\";s:5:\"state\";s:3:\"WAZ\";s:7:\"country\";s:2:\"IR\";s:17:\"shipping_postcode\";s:0:\"\";s:13:\"shipping_city\";s:0:\"\";s:18:\"shipping_address_1\";s:0:\"\";s:16:\"shipping_address\";s:0:\"\";s:18:\"shipping_address_2\";s:0:\"\";s:14:\"shipping_state\";s:3:\"WAZ\";s:16:\"shipping_country\";s:2:\"IR\";s:13:\"is_vat_exempt\";s:0:\"\";s:19:\"calculated_shipping\";s:0:\"\";s:10:\"first_name\";s:0:\"\";s:9:\"last_name\";s:0:\"\";s:7:\"company\";s:0:\"\";s:5:\"phone\";s:0:\"\";s:5:\"email\";s:25:\"***********@gmail.com\";s:19:\"shipping_first_name\";s:0:\"\";s:18:\"shipping_last_name\";s:0:\"\";s:16:\"shipping_company\";s:0:\"\";}\";s:10:\"wc_notices\";N;}', 1575448556)
                     ON DUPLICATE KEY UPDATE `session_value` = VALUES(`session_value`), `session_expiry` = VALUES(`session_expiry`) ساخته شده توسط shutdown_action_hook, do_action('shutdown'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Session_Handler->save_d

کدی که به فایل functions.php اضافه کردم:
کد:
/* Remove Woocommerce User Fields */
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
add_filter( 'woocommerce_billing_fields' , 'custom_override_billing_fields' );
add_filter( 'woocommerce_shipping_fields' , 'custom_override_shipping_fields' );

function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_city']);
unset($fields['shipping']['shipping_state']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_1']);
unset($fields['shipping']['shipping_address_2']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_city']);
return $fields;
}
function custom_override_billing_fields( $fields ) {
unset($fields['billing_state']);
unset($fields['billing_country']);
unset($fields['billing_company']);
unset($fields['billing_address_1']);
unset($fields['billing_address_2']);
unset($fields['billing_postcode']);
unset($fields['billing_city']);
return $fields;
}
function custom_override_shipping_fields( $fields ) {
unset($fields['shipping_state']);
unset($fields['shipping_country']);
unset($fields['shipping_company']);
unset($fields['shipping_address_1']);
unset($fields['shipping_address_2']);
unset($fields['shipping_postcode']);
unset($fields['shipping_city']);
return $fields;
}
 

پیام یزدانیان

کاربر عضو
با سلام
با توجه به اینکه محصولات سایتم دیجیتال هستند فلید های اضافی بخش پرداخت را با کد زیر در FUNCTIONS.PHP حذف کردم.
این ارور مربوط به همین کدی هست که به قالب اضافه کردم. لطفا راهنمایی کنید که چطوری این مشکل را حل کنم.
پیام خطا:
کد:
[02-Dec-2019 08:35:57 UTC] خطای Commands out of sync; you can't run this command now در پایگاه‌داده وردپرس برای دستور INSERT INTO *******_woocommerce_sessions (`session_key`, `session_value`, `session_expiry`) VALUES ('26896', 'a:8:{s:4:\"cart\";s:6:\"a:0:{}\";s:11:\"cart_totals\";s:367:\"a:15:{s:8:\"subtotal\";i:0;s:12:\"subtotal_tax\";i:0;s:14:\"shipping_total\";i:0;s:12:\"shipping_tax\";i:0;s:14:\"shipping_taxes\";a:0:{}s:14:\"discount_total\";i:0;s:12:\"discount_tax\";i:0;s:19:\"cart_contents_total\";i:0;s:17:\"cart_contents_tax\";i:0;s:19:\"cart_contents_taxes\";a:0:{}s:9:\"fee_total\";i:0;s:7:\"fee_tax\";i:0;s:9:\"fee_taxes\";a:0:{}s:5:\"total\";i:0;s:9:\"total_tax\";i:0;}\";s:15:\"applied_coupons\";s:6:\"a:0:{}\";s:22:\"coupon_discount_totals\";s:6:\"a:0:{}\";s:26:\"coupon_discount_tax_totals\";s:6:\"a:0:{}\";s:21:\"removed_cart_contents\";s:6:\"a:0:{}\";s:8:\"customer\";s:749:\"a:26:{s:2:\"id\";s:5:\"26896\";s:13:\"date_modified\";s:25:\"2019-11-30T09:44:24+03:30\";s:8:\"postcode\";s:0:\"\";s:4:\"city\";s:0:\"\";s:9:\"address_1\";s:0:\"\";s:7:\"address\";s:0:\"\";s:9:\"address_2\";s:0:\"\";s:5:\"state\";s:3:\"WAZ\";s:7:\"country\";s:2:\"IR\";s:17:\"shipping_postcode\";s:0:\"\";s:13:\"shipping_city\";s:0:\"\";s:18:\"shipping_address_1\";s:0:\"\";s:16:\"shipping_address\";s:0:\"\";s:18:\"shipping_address_2\";s:0:\"\";s:14:\"shipping_state\";s:3:\"WAZ\";s:16:\"shipping_country\";s:2:\"IR\";s:13:\"is_vat_exempt\";s:0:\"\";s:19:\"calculated_shipping\";s:0:\"\";s:10:\"first_name\";s:0:\"\";s:9:\"last_name\";s:0:\"\";s:7:\"company\";s:0:\"\";s:5:\"phone\";s:0:\"\";s:5:\"email\";s:25:\"***********@gmail.com\";s:19:\"shipping_first_name\";s:0:\"\";s:18:\"shipping_last_name\";s:0:\"\";s:16:\"shipping_company\";s:0:\"\";}\";s:10:\"wc_notices\";N;}', 1575448556)
                     ON DUPLICATE KEY UPDATE `session_value` = VALUES(`session_value`), `session_expiry` = VALUES(`session_expiry`) ساخته شده توسط shutdown_action_hook, do_action('shutdown'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Session_Handler->save_d

کدی که به فایل functions.php اضافه کردم:
کد:
/* Remove Woocommerce User Fields */
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
add_filter( 'woocommerce_billing_fields' , 'custom_override_billing_fields' );
add_filter( 'woocommerce_shipping_fields' , 'custom_override_shipping_fields' );

function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_city']);
unset($fields['shipping']['shipping_state']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_1']);
unset($fields['shipping']['shipping_address_2']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_city']);
return $fields;
}
function custom_override_billing_fields( $fields ) {
unset($fields['billing_state']);
unset($fields['billing_country']);
unset($fields['billing_company']);
unset($fields['billing_address_1']);
unset($fields['billing_address_2']);
unset($fields['billing_postcode']);
unset($fields['billing_city']);
return $fields;
}
function custom_override_shipping_fields( $fields ) {
unset($fields['shipping_state']);
unset($fields['shipping_country']);
unset($fields['shipping_company']);
unset($fields['shipping_address_1']);
unset($fields['shipping_address_2']);
unset($fields['shipping_postcode']);
unset($fields['shipping_city']);
return $fields;
}


خود ووکامرس فارسی در ابزارها چنین گزینه ای برای فیلدهای پرداخت در حالت فروش دانلودی دارد.
ولی کد زیر هم اوکیه :


PHP:
<?
add_filter( 'woocommerce_checkout_fields' , 'ok_checkout_virtual' );
 
function ok_checkout_virtual( $fields ) {   
   $only_virtual = true;
   foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
      if ( ! $cart_item['data']->is_virtual() ) $only_virtual = false;   
   } 
    if( $only_virtual ) {
      
                // remove billing fields

    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_address_1']);
    unset($fields['billing']['billing_address_2']);

    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_country']);

       add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
     }
     return $fields;
}

چیزای دلخواهم میتونی بهش اد کنی
 
  • Like
واکنش‌ها[ی پسندها]: sir1

sir1

کاربر عضو
خود ووکامرس فارسی در ابزارها چنین گزینه ای برای فیلدهای پرداخت در حالت فروش دانلودی دارد.
ولی کد زیر هم اوکیه :


PHP:
<?
add_filter( 'woocommerce_checkout_fields' , 'ok_checkout_virtual' );

function ok_checkout_virtual( $fields ) {  
   $only_virtual = true;
   foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
      if ( ! $cart_item['data']->is_virtual() ) $only_virtual = false;  
   }
    if( $only_virtual ) {
     
                // remove billing fields

    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_address_1']);
    unset($fields['billing']['billing_address_2']);

    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_country']);

       add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
     }
     return $fields;
}

چیزای دلخواهم میتونی بهش اد کنی
در قسمت ابزارها گزینه «حذف فیلدهای غیرضروری» را فعال کردم و کدهای داخل functions.php را حذف کردم. ببینم دوباره این ارورها ثبت می شود.
 

sir1

کاربر عضو
متاسفانه بازم این پیغام در ارورلاگ هاست ثبت شد.
دوستان نظری در این مورد ندارند؟
 

جاویدان

کاربر عضو
با سلام دوست عزیز
تیبل شما به نظر برای ثبت اطلاعات خریدار با مجموعه کاملی از جزئیات در ارتباط است و این احتمالا با WooCommerce Admin افزونه جدید آمارگیر در ارتباط است . برای تست هم شده اگر فعال است غیر فعالش کنید نتیجه را بررسی کنید
ضمنا بهتره به دیتابیس هم مراجعه کنید
بنده نیز یک چندتایی ارور داشتم که دائما چندین دوره در بروزرسانی وردپرس از سوی قالب ثبت می شد نهایتش بررسی که کردم دیدم دو بخش تیبل از وردپرس به هر علتی یا نصب نشده یا حذف شده و با بروزرسانی هم نصب نمی شده با قرار دادن دستی مشکل رفع شد.
ضمنا ریپیر وردپرس هم برخی اوقات کارساز است بهتره ازش استفاده کنید سپس در انتها از آنالیز و چک و اوپتیمایز و ریپیر دیتابیس هم استفاده کنید.
😅 همیشه با حذف مشکل رفع نمیشه شاید اضافه کردن بهتر باشه.
موفق باشید
 
  • Like
واکنش‌ها[ی پسندها]: sir1

sir1

کاربر عضو
خطای دیگری هم مربوط به محصول ثبت میشه که به صورت زیر است:
کد:
[11-Dec-2019 11:45:13 UTC] virtual was called incorrectly. خاصیت های محصول نباید به صورت مستقیم مشاهده شود. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->get_posted_data, WC_Checkout->get_checkout_fields, apply_filters('woocommerce_checkout_fields'), WP_Hook->apply_filters, PW_Tools_Checkout->remove_extra_field_physical, WC_Abstract_Legacy_Product->__get, wc_doing_it_wrong. This message was added in version 3.0.
 

جاویدان

کاربر عضو
با سلام دوست عزیز
این خطاها نشانگر بروزنبودن بخشی از قالب است و اینکه شاید نیاز باشد اگر شما خودتان قالب را ایجاد کرده اید و بروزرسانی کدها را به درستی نهایی نموده باشید نسخه ورژن اطلاع رسانی قالب را به 3.0. ارتقا دهید. البته اگر قالب را از جایی دریافت می کنید مطمئن شوید بروزرسانی واقعی در اختیار دارید.
توجه کنید وردپرس و وکامرس بر اساس همین اطلاع رسانی ها تشخیص می دهد که نسخه قالب بروز است یا خیر!! اگر یکبار خودتان دستی فقط عدد مورد نظر را بالا یا پایین ببرید از نتیجه مشکل را خواهید فهمید .
موفق باشید
 
  • Like
واکنش‌ها[ی پسندها]: Mohammad
بالا