Блог / Статті05 квітня 2023

Як виправити застарілий шаблон WooCommerce?

Плагін WooCommerce є дуже популярним серед власників інтернет-магазинів, адже якнайкраще підходить для створення ecommerce-проєктів на базі CMS WordPress. Для WooCommerce розроблено безліч готових тем під різні товарні напрямки, проте велика кількість користувачів надає перевагу саме власним шаблонам, які потенційно краще враховують ті чи інші бізнес-потреби. Але з часом через це може виникнути конфлікт сумісності: автори WooCommerce випускають нову версію плагіну, його файли оновлюються, однак шаблони, поміщені у директорію з вашою власною темою, не замінюються в автоматичниму режимі і лишаються без змін.

Саме тому після чергового оновлення WooCommerce в адміністративній панелі сайту ви бачите попередження: «Ваша тема ( ) містить застарілі копії деяких файлів шаблону WooCommerce. Ці файли, можливо, знадобиться оновити, щоб переконатися, що вони сумісні з поточною версією WooCommerce» (див. скріншот нижче). Якщо інтерфейс панелі англійською мовою, то повідомлення виглядатиме так: «Your theme () contains outdated copies of some WooCommerce template files. These files may need updating to ensure they are compatible with the current version of WooCommerce».

Попередження про застарілі копії файлів шаблону WooCommerce

Не будемо втрачати час, давайте одразу розглянемо можливі шляхи виправлення цієї помилки.

Зіткнулися з цією помилкою?

Звертайтеся до спеціалістів нашої агенції і ми вирішимо вашу проблему впродовж декількох робочих годин! 

Виправлення файлів застарілих шаблонів WooCommerce: покрокова інструкція

У першу чергу варто скористатися рекомендаціями, наведеними в самому повідомленні про помилку. Перевірте, чи доступне оновлення для вашої активної теми. Якщо воно є, то застосуйте його. Цього часто достатньо, щоб замінити шаблони WooCommerce новими копіями файлів. Якщо ж оновлення немає, спробуйте поцікавитися у розробників теми про те, коли воно буде випущено.

Але бувають і трохи гірші ситуації. Наприклад, розробники вже припинили підтримку теми. Чи можна виправити файли шаблонів WooCommerce у такому випадку? Так! Для цього треба виконати такі дії:

  1. Відкрийте WooCommerce > Статус > Стан Системи.
  2. Перейдіть до розділу Перевизначення. У ньому ви знайдете перелік файлів, які мають застарілі версії.

Розділ Перевизначення у звіті про стан системи

Приклад повідомлення про застарілу версію файлу cart-shipping.php

  1. Порівняйте файли теми з відповідними файлами плагіну, використовуючи редактори коду (наприклад, PhpStorm). Зокрема, у PhpStorm є вбудована опція для порівняння вмісту. Для її виклику оберіть два файли, які ви хочете порівняти (клікніть по ним, натиснувши клавішу Ctrl), далі перейдіть до View > Compare With або натисніть Ctrl+D.
  2. Якщо ви помітили відмінності або доповнення у файлах плагіну WooCommerce, то проаналізуйте їх та, за необхідності, внесіть відповідні виправлення у файли теми. Зазвичай розробники Woocommerce надають перелік впроваджених змін. Ознайомитися з ним можна за посиланням https://developer.woocommerce.com/releases/.

Як оновити файли шаблонів WooCommerce: приклади

Приклад 1

Порівняймо версії файлів proceed-to-checkout-button.php за допомогою PhpStorm (тут і далі файли шаблонів теми будуть розміщуватися зліва, а файли шаблонів плагіну - справа):

Порівняння двох файлів в PhpStorm

Аналіз показує наступні відмінності:

  • шаблон теми має версію 3.4.0, а актуальною є 7.0.1;
  • html-розмітка шаблону теми відрізняється від тієї, що є у плагіні (ми бачимо, що у темі коду більше).

Для виправлення проблеми потрібно:

  • синхронізувати версію (прописати у файлі теми той номер версії, який вказано у файлі плагіну WooCommerce;
  • html-розмітку можна залишити як є, адже це користувацька адаптація автора теми.

Приклад 2

Порівняймо файли cart-empty.php:

Порівняння файлів cart-empty.php шаблону WooCommerce

Відмінності:

  • шаблон теми використовує версію 3.5.0, а плагін має 7.0.1;
  • бачимо коментар, що з версії 4.6.8 введено фільтр «woocommerce_return_to_shop_text», який обробляє вивід фрази «Return To Shop». У файлі теми цей фільтр відсутній.

Що робити:

  • синхронізувати версію;
  • перенести в тему фільтр «woocommerce_return_to_shop_text».

Приклад 3

Порівняємо файли payment.php:

Аналіз відмінностей файлу payment.php

Відмінності:

  • знову ж таки, бачимо різні номери версій;
  • замість застарілої функції is_ajax() впроваджено актуальну wp_doing_ajax().

Як виправити:

  • синхронізувати версію;
  • замінити функцію is_ajax() у темі на wp_doing_ajax().

Поради для самостійного усунення проблеми

Аналізуючи файли, сфокусуйтеся на кількох моментах:

  • розбіжності html-розмітки не завжди є проблемою, адже вони найчастіше і є першопричиною кастомізації шаблонів WooCommerce. У більшості випадків, їх можна ігнорувати;
  • звертайте увагу на нові фільтри та хуки (функції apply_filters(), do_action()), а також коментарі, запропоновані розробниками плагіну. Аналізуйте кожен з них та вирішуйте, чи потрібні вони для вашої теми;
  • обов’язково замініть застарілі функції актуальними;
  • пропишіть актуальну версію файлу шаблону у своїй темі;
  • після внесення всіх змін поверніться до розділу «Перевизначення», щоб впевнитись, що повідомлення про конфлікт версій більше не відображається.

Звіт про стан системи WooCommerce показує відсутність помилки

Після вдалої роботи з файлом cart-shipping.php бачимо, що повідомлення про застарілу версію зникло

Можливо вам потрібна наша допомога?

Wordpress - наша пристрасть, це те, у чому ми розбираємося краще за все. Не гайте свій час, довірте вирішення ваших проблем нашим спеціалістам!
Артем Охрей
Співзасновник Arto Web Agency, веб-розробник
Працюю у сфері онлайн-бізнесу з 2012 року. Глибоко переконаний, що будь-які деталі мають значення, і без їх урахування складно досягти успіху в цій галузі. Регулярно ділюся своїм досвідом на профільних семінарах. Якщо у вас виникли запитання щодо цієї статті, будь ласка, напишіть мені на електронну пошту artem@arto.agency.

Дізнавайтеся про важливе першими!

Навчальні матеріали, важливі новини, огляди. Ми пишемо вам тоді, коли дійсно є що сказати
КОМЕНТАРІ
КОМЕНТУВАТИ
УВІЙТИ
  • Facebook
  • Twitter
ЦЕЙ САЙТ ВИКОРИСТОВУЄ COOKIES
Ми використовуємо cookies для аналізу трафіку, забезпечення функцій соціальних мереж і роботи системи коментування на сайті. Список встановлюваних cookies знаходиться на цій сторінці. Чи згодні ви на установку cookie?