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

Кодекс WooCommerce. Функции для начала. Полезные ресурсы.

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

  1. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Здравствуйте! Решил написать ИМ на Woocommerce - тема самописная. Обшарил уже уйму ресурсов и ни чего путного не нашёл кроме хуков различных.
    Может имеется какой ресурс с подробным описнием функций WooCommerce?
     
  2. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.279
    Симпатии:
    726
    Баллы:
    113
    Все на сайте WOO смотрите
     
  3. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
  4. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    А есть возможность использования функций Woocommerce?
    К примеру возможность использовать в любом месте
    <?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>
    Вывод краткого описания товаров.
    Если есть то можно воротить многое.
     
  5. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.279
    Симпатии:
    726
    Баллы:
    113
    Воротить всё можно. Нужно ли?
     
  6. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Так под дизайн свой подогнать, да основные принципы работы с WooCommerce освоить.
     
  7. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Пока освоился с шорткодами и функцией
    <?php echo do_shortcode('[product id="8"]'); ?>
    Гибкости не хватает.
    Получить краткое описание товаров вместо вывода кнопки подробнее и миниатюры. Видимо добрёл до хуков.
     
  8. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Продвинулся ещё на шаг.
    <?php $args = array('post_type' => 'product');
    $loop = new WP_Query( $args );
    ...
    ?>
    WP_Query оказалась полезной, но теперь надо разобраться как выбирать по каткгориям и остальным параметрам. Товары все без проблем выбираются.
     
  9. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    Что сказать, кодекс и вп-кама помогут разобраться с этим. Там есть хорошие примеры и описания функций wordpress.
    выбирать по категориям можно с помощью аргумента 'category', в котором перечислить нужные категории если нужно больше одной то значение нужно указывать в массиве.
    Советую ознакомиться так же с аргументом meta_query этой функции, она позволит выбрать продукты по произвольным полям.
    Так же рекомендую к изучению плагин ACF адванцедкастомфилдс. Он расширяет возможности вордпресса до предела.
     
  10. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    На wp-kama ночуем) да и кодекс часто светится.
    С выборкой постов в определённой категории разобрался.
    $args = array('product_cat' => 'men', 'post_type' => 'product');
    $loop = new WP_Query( $args );
    А как выбрать имена категорий в WooCommerce не догоню. Хранятся в wp_terms но как к их выбрать?
     
  11. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    Код:
    <?php
      $taxonomy     = 'product_cat';
      $orderby      = 'name';  
      $show_count   = 0;      // 1 for yes, 0 for no
      $pad_counts   = 0;      // 1 for yes, 0 for no
      $hierarchical = 1;      // 1 for yes, 0 for no  
      $title        = '';  
      $empty        = 0;
    $args = array(
      'taxonomy'     => $taxonomy,
      'orderby'      => $orderby,
      'show_count'   => $show_count,
      'pad_counts'   => $pad_counts,
      'hierarchical' => $hierarchical,
      'title_li'     => $title,
      'hide_empty'   => $empty
    );
     $all_categories = get_categories( $args );
    //print_r($all_categories);
    foreach ($all_categories as $cat) {
        //print_r($cat);
        if($cat->category_parent == 0) {
            $category_id = $cat->term_id;
    
    
            echo '<br /><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a>'; 
    
    
            $args2 = array(
              'taxonomy'     => $taxonomy,
              'child_of'     => 0,
              'parent'       => $category_id,
              'orderby'      => $orderby,
              'show_count'   => $show_count,
              'pad_counts'   => $pad_counts,
              'hierarchical' => $hierarchical,
              'title_li'     => $title,
              'hide_empty'   => $empty
            );
           
            $sub_cats = get_categories( $args2 );
            if($sub_cats) {
                foreach($sub_cats as $sub_category) {
                    echo  $sub_category->name ;
                }
    
            } 
    
    
     }    
    }
    ?>  
    
    $sub_cats = под категории
    $all_categories = категории
     
    Последнее редактирование: 22 янв 2015
    • Победитель Победитель x 1
  12. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Спасибо! То что надо. Ну теперь думаю можно дальше разбираться и у меня появилась надежда)
     
  13. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    Еще может понадобиться, для того чтобы комбинировать запрос, например в записях перед выводом цикла отфильтровать их по категории, по дате или по полю:
    WP_Query($query_string.'&параметр=значение&параметр=значение' ).
    это позволит дополнять базовый цикл своими условиями :)
     
    • Полезно Полезно x 1
  14. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Т.е. к примеру по категории отфильтровать выбираем все,
    $query_string = "post_type=product";
    $loop = new WP_Query($query_string.'&product_cat=cat-name' );
    И: get_term_link($cat->slug, 'product_cat');
    Так мы получаем slug категории и по нему можем выбирать товары из этой категории.
    Всё верно?
     
  15. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    не совсем так $query_string - это глобальная переменная строки запроса
    Код:
    global  $query_string;
    query_posts($query_string . '&post_type=product&posts_per_page=-1');
    while(have_posts()) { the_post();
    <!-- здесь идет Цикл WordPress -->
    }
    т.е. можно добавить или изменить какие то параметры в текущем цикле
    а если написать query_posts($args); то цикл будет выполнен с нуля.
    З.Ы. query_posts, wp_query, get_posts выполняют одно и тоже.
    Подробнее оних можешь почитать на каме.
     
    Последнее редактирование: 23 янв 2015
  16. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Grollem, cпасибо огромное!
    Ну да, я лишнего нагородил в пред посте. Реализовал уже что хотел.
    Можно ваш кошелёк Я.Д. или WMR в личку? Скромно отблагодарить за время, потраченное на меня.
     
    • Нравится Нравится x 1