خطای The get_product function is deprecated

jamshimi

کاربر عضو
دوستان سلام

بعد از بروز رسانی ووکامرس 3.0.5 خطای زیر در error log سایت مشاهده میشه

The get_product function is deprecated since version 3.0. Replace with wc_get_product


همین طور در زیر خطای بالا ،خطای زیر هم ظاهر میشه

کد:
virtual was called incorrectly. Product properties should not be accessed directly. 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, call_user_func_array, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, 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, call_user_func_array, custom_override_checkout_fields, WC_Abstract_Legacy_Product->__get, wc_doing_it_wrong. This message was added in version 3.0.
 

sinalotfi

تازه وارد
سلام

خطا از فایل    هست

در نسخه جدید ووکامرس این فایل تغییری نکرده. ممکنه مشکل شما بخاطر ناسازگاری یکی از افزونه های دیگه سایتتون با ووکامرس باشه

همه افزونه های سایتتون رو غیرفعال بکنید و مجددا تست بکنید

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

برای رفع مشکل هم باید افزونه ناسازگاری رو غیرفعال بکنید یا با یک افزونه دیگه جایگزینش بکنید

من تو گوگل که سرچ کردم معمولا بخاطر افزونه ناسازگار بوده مخصوصا افزونه wpml .

اما در کل، اگر با مشکل افزونه ناسازگار نتونستید مشکلتون رو حل بکنید

به نسخه قبلی افزونه ووکامرس رو دانگرید بکنید برای اینکار فایلی که در زیر قرار دادیم رو دانلود بکنید و در هاستتون پوشه wp-content/plugins اپلود و اکسترکت بکنید


 

jamshimi

کاربر عضو
سلام

خطا از فایل    هست

در نسخه جدید ووکامرس این فایل تغییری نکرده. ممکنه مشکل شما بخاطر ناسازگاری یکی از افزونه های دیگه سایتتون با ووکامرس باشه

همه افزونه های سایتتون رو غیرفعال بکنید و مجددا تست بکنید

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

برای رفع مشکل هم باید افزونه ناسازگاری رو غیرفعال بکنید یا با یک افزونه دیگه جایگزینش بکنید

من تو گوگل که سرچ کردم معمولا بخاطر افزونه ناسازگار بوده مخصوصا افزونه wpml .

اما در کل، اگر با مشکل افزونه ناسازگار نتونستید مشکلتون رو حل بکنید

به نسخه قبلی افزونه ووکامرس رو دانگرید بکنید برای اینکار فایلی که در زیر قرار دادیم رو دانلود بکنید و در هاستتون پوشه wp-content/plugins اپلود و اکسترکت بکنید
فایلی با این نام که فرمودید در مسیر مورد نظر وجود نداره. من فکر می کنم یه تابع جایگزین شده که در قالب هنوز بروز رسانی نشده. 

includes/wc-deprecated-functions.php


نظر دیگر دوستان چیه؟

 

Qalekhani

قلعه‌خانی
خب در متن خطا ذکر کرده که: تابع get_product منسوخ شده و با تابع wc_get_product باید جایگزین شه.

 
آخرین ویرایش توسط مدیر:

jamshimi

کاربر عضو
خب در متن خطا ذکر کرده که: تابع get_product منسوخ شده و با تابع wc_get_product باید جایگزین شه.
سلام

سپاس از توجه و راهنمایی شما

این جایگزینی رو باید در قالب انجام بشه و تمامی فایل هایی که این تابع به کار رفته رو با wc_get_product جایگزین کرد؟

در این موارد وجود داره

کد:
.wid<get_product>_categories ul li:before {
کد:
style.css
Line 3669 - .wid<get_product>_search label.screen-reader-text {
Line 3732 - .wid<get_product>_categories ul li:before {
Found 2 occurrences.
woocommerce.css
Line 436 - .wid<get_product>_categories ul {
Line 439 - .wid<get_product>_categories ul li {
Line 443 - .wid<get_product>_categories .children {
Line 1140 - .wid<get_product>_search form {
Line 1143 - .wid<get_product>_search #s{
Line 1148 - .wid<get_product>_search input#searchsubmit {
Line 1151 - .woocommerce.wid<get_product>s a,
Line 1530 - body.rtl .wid<get_product>_categories .children {
Line 1639 - body.rtl .wid<get_product>_search #s{
Found 9 occurrences.
search-live.php
Line 223 -     $product = $product_factory-><get_product>($post);
 
آخرین ویرایش توسط مدیر:

Qalekhani

قلعه‌خانی
خواهش میکنم. طبیعتاً در فایل های پوسته. ووکامرس رو که نباید دستکاری کنید.

 

jamshimi

کاربر عضو
دوستان سلام

بعد از بروز رسانی ووکامرس 3.0.5 خطای زیر در error log سایت مشاهده میشه

The get_product function is deprecated since version 3.0. Replace with wc_get_product


همین طور در زیر خطای بالا ،خطای زیر هم ظاهر میشه

virtual was called incorrectly. Product properties should not be accessed directly. 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, call_user_func_array, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, 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, call_user_func_array, custom_override_checkout_fields, WC_Abstract_Legacy_Product->__get, wc_doing_it_wrong. This message was added in version 3.0.

مشکل اول کاملا حل شد با جایگزینی wc_get_product
اما مشکل دوم هنوز برقراره . ممنون میشم این رو هم راهنمایی بفرمایید

 
بالا