Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Как правильно расположить файлы woocomerce в дочерней теме?

Тема в разделе "Вопросы новичков", создана пользователем vasja, 20 авг 2015.

  1. vasja

    vasja

    Сообщения:
    167
    Симпатии:
    4
    Баллы:
    18
    Есть у меня магазин на wordpress+woocommerce с темой flatastic, внутри которой есть папка с конфигурационным файлов config.php. В дочерней теме создал аналогичный файл и хочу переопределить хук:
    PHP:
    remove_action('woocommerce_single_product_summary', array(&$this,
    'mad_woocommerce_template_single_meta'), 11);
    add_action('woocommerce_single_product_summary', array(&$this,
    'mad_woocommerce_template_new_single_meta'), 11);
    function 
    mad_woocommerce_template_new_single_meta () {
       echo 
    "hello";
    }
     
    Последнее редактирование: 17 дек 2015
  2. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    552
    Баллы:
    113
    Приведите полное имя файла. Есть подозрение, что такого файла в оригинале плагина WooCommerce нет.
     
    • Победитель Победитель x 1
  3. vasja

    vasja

    Сообщения:
    167
    Симпатии:
    4
    Баллы:
    18
    searchingman - вот:
    wp-content/themes/flatastic/config-woocommerce/config.php
    А если это файл темы, его ведь тоже можно переопределить?
     
  4. ADv

    ADv Местный

    Сообщения:
    428
    Симпатии:
    108
    Баллы:
    43
    Насколько мне помнится, в дочерней теме должна быть сохранена ровно такая же структура файлов, как и в родительской.
    Поэтому wp-content/themes/flatastic-child/config-woocommerce/config.php
     
    • Не согласен Не согласен x 1
  5. vasja

    vasja

    Сообщения:
    167
    Симпатии:
    4
    Баллы:
    18
    если бы! я бы такой вопрос не задавал - не прокатывает..
     
  6. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    552
    Баллы:
    113
    Очень многое зависит от того как подключается файл в родительской теме.
    Неплохие материалы от разработчиков Wordpress.
    - Дочерние темы в WordPress
    - Использование функции get_template_part() в WordPress
    Из статьи
    Смотрим как подключается файл
    PHP:
    include_once 'config-plugins/config.php';
    Отсюда вывод, что прямым копированием в дочернюю темы нельзя переопределить файл.

    В самом файле \flatastic\config-woocommerce\config.php много хуков. Поэтому можно их отключать.
    Либо определить класс class MAD_WOOCOMMERCE_CONFIG, подключив его в functions.php свой дочерней темы.
    В итоге в родительской теме класс не будет определен , т.к. прописан
    PHP:
    if (!class_exists('MAD_WOOCOMMERCE_CONFIG')) {
     
    Последнее редактирование: 23 авг 2015
    • Нравится Нравится x 1
  7. ADv

    ADv Местный

    Сообщения:
    428
    Симпатии:
    108
    Баллы:
    43
    Кто же знал, что это файл фреймворка темы.
    Копируйте тогда всю папку config-woocommerce, и уже тогда вносите изменения.
    Или же, танцуйте с бубном, как предлагает searchingman
     
  8. vasja

    vasja

    Сообщения:
    167
    Симпатии:
    4
    Баллы:
    18
    searchingman нашел инструкцию самого разработчика https://velikorodnov.ticksy.com/articles/8174/?print - там все гораздо сложнее
    делаю все один в один по инструкции
    PHP:
    /* Include Config WooCommerce
    / ---------------------------------------------------------------------- */
    if (class_exists('WooCommerce')) {
        if ( ! 
    function_exists'mad_woo_config' ) ) {
        function 
    mad_woo_config() {
            
    // Load required classes and functions
            
    require_once( 'config-woocommerce/config.php' );
            return 
    MAD_WOOCOMMERCE_CONFIG::instance();
        }
    }
    /**
    * Instance main plugin class
    */
        
    global $mad_woo_config;
        
    $mad_woo_config mad_woo_config();
    }
    но выбивает ошибку 500 (адрес указываю правильный, если обратиться к другому файлу по тому же адресу - все выводит)
    Есть у кого-либо соображения по этому поводу?
    в логах пишет, что ругается на функцию неопределенную "mad_custom_get_option()"
     
    Последнее редактирование: 17 дек 2015
  9. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    552
    Баллы:
    113
    Согласно вышеприведенной инструкции, нужно папку config-woocommerce с содержимым скопировать из родительской темы в дочернюю. И уже после этого внести код в functions.php дочерней темы.
    Вы так сделали?
     
  10. Stork.71

    Stork.71 Местный

    Сообщения:
    1.032
    Симпатии:
    254
    Баллы:
    83
    Простите, может не совсем в тему, а вот эта инфа не поможет?
     
  11. vasja

    vasja

    Сообщения:
    167
    Симпатии:
    4
    Баллы:
    18
    searchingman да, все правильно
    нет, Stork.71 не поможет
    Все, разобрался! Данная инструкция предназначалась для более поздней версии темы, для моей она не работала