آموزش ووکامرسووکامرس

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

یکی از شایع ترین مشکلات و ارور ها که در سایت های وردپرس دیده می شود ناسازگاری افزونه ها با قالب ووکامرس فروشگاهی است . از جمله این مشکلات می توان به ناسازگاری افزونه های نصب شده در سایت، یا ناسازگاری یکی از افزونه های نصب شده با قالب، یا ناسازگاری یکی از افزونه های نصب شده با وردپرس و سرور اشاره کرد که این مشکلات موجب درست کار نکردن سایت و یا مشاهده ارور ها و خطا های بی شمار در سایت شود .
تا به حال در بخش مدیریت سایت وردپرسی خود با پیغامی مانند پیغام زیر مواجه شده اید :

الگوی شما توسط پشتیبانی ووکامرس شناسایی نمیشود – اگر با مشکل ناسازگاری طرح مواجه شدید، راهنمای یکپارچگی را مطالعه کنید یا یکی از الگوهای ووکامرس را انتخاب کنید

به این فکر کرده اید که چگونه می توانید این پیغام را رفع و برطرف سازید و یا این پیغام به چه دلیل رخ می دهد . اگر در وردپرس افزونه فروشگاه ساز ووکامرس را نصب کرده باشید، یکی از مشکلاتی که موقع نصب پوسته جدید با آن روبرو می شوید ، مشکل سازگار نبودن پوسته ورد پرس با ووکامرس است .

رفع مشکل الگوی شما توسط پشتیبانی ووکامرس شناسایی نمی شود

مشکلاتی که ممکن است در هنگام نصب افزونه ووکامرس با قالب به وجود آید مثلا ممکن است نوار کناری صفحه (sidebar) شما در محل مناسب قرار نداشته باشد و مشکلات دیگراین مشکل در صفحات فروشگاه، صفحه نمایش تک محصول ، و صفحات دسته بندی و آرشیو محصولات وجود خواهد داشت ، که علت آنها عمدتا برای افزونه ووکامرس این است که ووکامرس از پوسته مخصوص خود پشتیبانی کرده است در حالی که وردپرس از پوسته انتخابی شما صفحات مخصوص ووکامرس را ندارد . برای رفع این مشکل باید شما در داخل پوسته وردپرس یک صفحه برای فروشگاه خود با ووکامرس ایجاد کنید تا دسته بندی محصولات و تک محصولات در آن نمایش داده شود.

بررسی نمایید که آیا افزونه ناسازگار دارید یا خیر ؟

فرض کنید که در سایت شما به طور ناگهانی اروری مانند Fatal error: Call to undefined method نمایش داده می شود ، در گام اول باید مطمئن شوید که این ارور از افزونه های موجود در سایت است یا خیر ؟ برای این کار بهتر است در ابتدا همه افزونه های موجود را در سایت غیر فعال کنید و دوباره سایت را تست نمایید .

اگر مشکل سایت رفع شده باشد که 100 درصد از افزونه های سایت میباشد ولی در صورتی که بعد از غیرفعال کردن همه افزونه های نصب شده ، همچنان مشکل و ارور را در سایت مشاهده کردید باید به دنبال علت دیگری باشید . از علت های دیگر می تواند بخاطر ناسازگاری با سرور یا ناسازگاری قالب و… این مشکل به وجود آمده باشد .

در این جا اگر مشکل از افزونه ها باشد باید افزونه ای که موجب این ارور شده است را بیابید . برای پیدا کردن افزونه ی مورد نظر باید به روش آزمون و خطا پیش بروید یعنی در زمانی که تمام افزونه ها را غیر فعال کرده اید ، باید یکی یکی آن ها را فعال کنید و بعد از فعال کردن هر یک از آنها سایت خود را بررسی کنید تا متوجه شوید مشکل از کدام افزونه است سپس در این لحظه با پیدا کردن افزونه ی ناسازگار تصمیم با شماست که با این افزونه چه کنید ولی از آنجا که وردپرس یک سیستم مدیریت محتوای قدرتمند است و دارای گستردگی بسیاری است میتوان از افزونه های دیگر به جای افزونه ی ناسازگار استفاده نمود و افزونه ای رو نصب بکنید که مشکل ناسازگاری نداشته باشد .

نحوه حل مشکل پوسته وردپرس با ووکامرس

 

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

فایل woocommerce.php را ایجاد کنید. ( با این کار شما می توانید یک صفحه برای فروشگاه خود با ووکامرس ایجاد کنید . )

برای ساخت این صفحه قالب از فایل page.php در پوشه پوسته کپی گرفته و نام آنرا به woocommerce.php تغییر دهید.
این فایل باید به صورت زیر ایجاد شود:

 

حال باید فایل woocommerce.php را ویرایش کنید و حلقه ی تکراری که برای نمایش پست ها نوشته شده را پیدا کنید این حلقه به صورت زیر می باشد
if ( have_posts() ) :
و مانند زیر خاتمه می یابد
endif;
بعد از آنکه این حلقه را یافتید آن را به طور کلی حذف کرده و به جای آن کد زیر را قرار دهید :

 

حال دستوراتی که باید به فایل functions.php اضافه کنید ، به صورت زیر است :

 

توجه داشته باشید باید نشانه گذاری شما با پوسته هماهنگ باشد برای اطمینان از این امر و برای آن که بدانید در پوسته از چه کلاس و شناسه و استایلی استفاده کرده است باید فایل page.php را بررسی کنید . بعد از آن که پوسته شما با ووکامرس سازگار شد حال باید برای برداشتن پیغام “Your theme does not declare WooCommerce support”دست به کار شوید در فایل functions.php چند خط زیر را اضافه کنید

 

رفع مشکل ناسازگاری قالب با ووکامرس

شما می توانید با اضافه کردن کد زیر به فایل functions.php قالب خود ، این خطا را برطرف کنید :

add_theme_support( ‘woocommerce’ ); با استفاده از کد بالا شما می توانید قالب سایت وردپرسی خود را با افزونه فروشگاهی ووکامرس کاملا سازگار کنید و مشکلاتی را که در این زمینه به وجود می آید را به طور کل رفع نمایید .  توجه داشته باشید چنانچه شما بخواهید بخش های مختلف فروشگاه سایت وردپرس شما نیز در قالب به درستی نمایش داده شوند ، باید تغییراتی را در کدهای css قالب را نیز اعمال کنید .

یکی دیگر از راه های رفع مشکل ناسازگاری قالب با ووکامرس این است که شما وارد پوشه ی قالب خود شوید ، یک کپی از فایل page.php بگیرید و آن را به woocommerce.php تغییر نام دهید

در این جا باید وارد فایل جدیدی شوید و قسمت زیر را در آن پیدا کنید

 

تابع have_posts() را پیدا کرده و تا آخر end if باید پاک کنید یعنی دقیقا تا جایی که در کد بالا آمده است .
اون کد ها را باز کرده و کد زیر را به جای آن قرار دهید :

قدیمی بودن فایل های پوسته با ووکامرس

شاید برای شما نیز اتفاق افتاده باشد که پس از آپدیت کردن ووکامرس پیغامی مبنی بر قدیمی بودن فایل های پوسته با ووکامرس را مشاهده کنید در ابتدا باید ببینید با وجود این پیغام آیا مشکلی در سایت شما ایجاد شده است یا خیر ؟ اگر مشکلی در سایت مشاهده نشد بهتر است این پیغان را نادید گرفته و به دنبال رفع آن نباشید . در ابتدا از فایل های خود بک آپ تهیه نمایید و بعد مشغول انجام کارهای دیگر شوید .

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

اقدام به دانلود افزونه ووکامرس کنید و بعد از دریافت افزونه فایل زیپ را از حالت فشرده خارج نمایید سپس از درون آن پوشه Templates را پیدا کنید . در فولدرهای پوسته نیز یک پوشه به نام woocommerce وجود دارد که دارای همان فایل های موجود در پوشه ی templates است . حال باید فایل های موجود در فایل templatesرا درون پوشه ی woocommerce پوسته جایگذاری نمایید . هنوز کار تمام نشده است حال باید در وردپرس ، به منوی ووکامرس و از آن به وضعیت سیستم مراجعه کنیم ، در پایین صفحه قسمت قالب ها و بازنویسی قالب ها را مشاهده کنید . در لیست فایل هایی که به صورت قرمز است به عنوان فایل های ناسازگاری در نظر گرفته شده اند مانند wp_woo_gomarket/woocommerce/checkout/form-coupon.php نسخه ۱.۶.۴ بروز نیست. نسخه پایه ۲.۲,

در این جا باید به دنبال محلی از سایت باشید که دارای این ایراد است مثلا خط بالا مربوط به کوپن می باشد . اگر قسمت کوپن های سایت مشکل دارد ، این فایل رو از پوشه templates ووکامرس دانلود شده، به درون فولدر woocommerce پوسته بریزید.  هر یک از سایت های دیگر نیز به همین صورت باید انجام شوند .

بعد از انجام این کارها و تا به این جا به احتمال زیاد مشکل سایت بطرف شده است . نکته ی مهمی که باید در این جا به آن دقت کنید این است که در کپی کردن کد ها باید توجه کافی داشته باشید و در صوتی که سایت شما بعد از قرار دادن کد دارای مشکل شد ، کد قبلی را باز گردانید و در صورتی که بعد از قرار دادن کد مشکل ناسازگاری بر طرف گردید دست از کار کشیده و ادامه ندهید .

برچسب ها

‫2 نظرها

  1. سلام وقتتون بخیر
    من با چنین مشکلی در بخش سبد خرید سایتم مواجه شدم:

    1- Notice: WC_Cart::get_remove_url is از رده خارج شده است از نگارش3.3! به‌جای آن از wc_get_cart_remove_url استفاده کنید. in /home/public_html/wp-includes/functions.php on line 3839

    2- Notice: WC_Cart::get_item_data is از رده خارج شده است از نگارش3.3! به‌جای آن از wc_get_formatted_cart_item_data استفاده کنید. in /home/public_html/wp-includes/functions.php on line 3839

    مشکل کجاست؟ و باید چی کار کنم؟
    آدرسی هم که گفته رفتم همچین چیزی ندیدم
    ممنون میشم راهنماییم کنید
    تشکر

    1. سلام وقت بخیر
      داخل کد های قالب شما یه تابعی هست مربوط به ووکامرس که منسوخ شده . همون طور که داخل خطا هست WC_Cart::get_remove_url از رده خارج شده.
      با کد های قالبتون رو آپدیت کنید و توابه جدید رو جایگزین کنید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Captcha loading...

بستن