Як правильно робити тему для woocommerce
У документації docs.woothemes.com/document/template-structure я знайшов, що можна копіювати папку шаблонів /plugins/woocommerce/templates/ в папку своєї теми, перейменувати її на woocommerce >/themes/mytheme/woocommerce/ І далі змінювати ці шаблони. Але я скачав теми від woothemes (так би мовити рідні теми), наприклад storefront і mystile, і в них все інакше, немає вже шаблонів, як верстка інтегрована? Не зрозуміло. Тобто самі вони для себе роблять шаблони не так, як радять у документації?
Почав я робити тему, як у документації вони радять. Виникла у мене просте завдання, потрібно додати клас до кнопки "Proceed to Checkout" у кошику, я відкриваю файл шаблону кошика woocommerce/cart/cart-totals.php і там бачу
замість простого посилання. Тому, замість просто змінити посилання, мені потрібно перевизначати цю функцію у файлі functions.php. Навіщо такий поділ? Навіщо дрібні елементи типу кнопок і посилань робити як do_action і прибирати в зовсім інше місце, а чи не залишити їх там де вони мають виводитися?
Далі. Хотів поміняти місцями ціну та кнопку "Add to cart", заходжу до файлу відповідного шаблону і бачу
У результаті половина теми у мене в файлі function.php і ще він тепер рясніє рядками виду:
Але люди з woothemes напевно розумніші за мене, тому чого я не розумію? Це патерн якийсь чи що? Чим це зручніше? І як зробити тему так, що якщо мені треба поміняти html у кошику, я заходжу до шаблону кошика та змінюю, а не шукаю відповідної функції десь ще?
Хлопці з WooThemes дійсно вогонь, але роблять вони не так рівно з іншої причини. Вони роблять і плагін і тему, відповідно навіщо їм включати плагін у тему, якщо там їхі так все влаштовує?
Якщо ви хочете міняти по всякому, то саме такий копіюєте папку templates, і змінюєте всяке в ній, але і всю папку копіювати не треба, а ті шаблони, які ви змінюєте, навіщо навантажувати тему зайвими файлами,
у мене це влаштовано так

З приводу решти, WooCommerce тим і крутий, що його можна крутити як хочеться, і саме для цього там на всю і використовуються фільтри та екшени.
Та й взагалі використання даних можливостей, є хороший тон при розробці наприклад, я розробляю всяке на власному фреймвоку, всі акшени винесені в мене в окремий файл, що дозволяє без зайвих рухів тіла гнути проект в будь-який бік.
