Ответы в темах

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Автор rlbeors

    (@rlbeors)

    вообщем сделал я, всё отлично! но есть одно но, почему с ПК даты отображаются с ограничением (то-есть доступны к примеру только по средам) а с мобильного телефона все даты доступны?

    я грешил может конфликт между плагинами, установил голую wp и cf7 создал 1 поле с датой [date date-516 step:7] с пк все ок , а с мобильного нет.

    Я пытался сделать таким образом.

    [select city "Город1" "Город2"]
    [date date-booking]
    [hidden selected-city]
    document.addEventListener('DOMContentLoaded', function() {
      var citySelect = document.querySelector('select[name="city"]');
      var dateInput = document.querySelector('input[name="date-booking"]');
      var selectedCityInput = document.querySelector('input[name="selected-city"]');
    
      citySelect.addEventListener('change', function() {
        var selectedCity = citySelect.value;
        selectedCityInput.value = selectedCity;
    
        if (selectedCity === 'Город1') {
          dateInput.setAttribute('min', '');
          dateInput.setAttribute('max', '');
          dateInput.removeAttribute('readonly');
          dateInput.setAttribute('onclick', 'return showCalendar(this)');
        } else if (selectedCity === 'Город2') {
          dateInput.setAttribute('min', '');
          dateInput.setAttribute('max', '');
          dateInput.removeAttribute('readonly');
          dateInput.setAttribute('onclick', 'return showCalendar(this)');
        } else {
          dateInput.removeAttribute('min');
          dateInput.removeAttribute('max');
          dateInput.setAttribute('readonly', 'readonly');
          dateInput.removeAttribute('onclick');
        }
    
        dateInput.value = '';
      });
    });
    
    function showCalendar(element) {
      var selectedCity = document.querySelector('select[name="city"]').value;
      var currentDate = new Date();
      var selectedDate = new Date(element.value);
    
      if (selectedCity === 'Город1' && selectedDate.getDay() !== 4) {
        element.value = '';
        alert('Выберите дату отправления только по четвергам для города Город1.');
      } else if (selectedCity === 'Город2' && selectedDate.getDay() !== 3) {
        element.value = '';
        alert('Выберите дату отправления только по средам для города Город2.');
      }
    
      return false;
    }

    привязку javascritpt сделал через functions.php

    ничего не получилось

    • Ответ изменён 10 месяцев, 2 недели назад пользователем rlbeors.

    то-есть если у меня 20 городов, то каждому городу отдельно делать или можно каждому городу дать id и дату по id выводить нужный календарь? правильно я понял?

    Спасибо большое, то что нужно!

    Автор rlbeors

    (@rlbeors)

    нашел способ отсортировать таким образом.
    Меняем содержимое в файле related.php в шаблоне woocommerce

    <?php
    /**
     * Related Products
     *
     * HOWEVER, on occasion WooCommerce will need to update template files and you
     * (the theme developer) will need to copy the new files to your theme to
     * maintain compatibility. We try to do this as little as possible, but it does
     * happen. When this occurs the version of the template file will be bumped and
     * the readme will list any important changes.
     *
     * @see         https://docs.woocommerce.com/document/template-structure/
     * @author      WooThemes
     * @package     WooCommerce/Templates
     * @version     3.9.0
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
      exit;
    }
    
    global $product, $woocommerce_loop;
    
    if ( empty( $product ) || ! $product->exists() ) {
      return;
    }
    
    if ( ! $related = $product->get_related( $posts_per_page ) ) {
      return;
    }
    
    // Get ID of current product, to exclude it from the related products query
    $current_product_id = $product->get_id();
    
    $cats_array = array(0);
    
    // get categories
    $terms = wp_get_post_terms( $product->id, 'product_cat' );
    
    // select only the category which doesn't have any children
    foreach ( $terms as $term ) {
      $children = get_term_children( $term->term_id, 'product_cat' );
      if ( !sizeof( $children ) )
      $cats_array[] = $term->term_id;
    }
    
    $args = apply_filters( 'woocommerce_related_products_args', array(
      'post_type' => 'product',
      'post__not_in' => array( $current_product_id ),   // exclude current product
      'ignore_sticky_posts' => 1,
      'no_found_rows' => 1,
      'posts_per_page' => $posts_per_page,
      'orderby' => $orderby,
      'tax_query' => array(
        array(
            'taxonomy' => 'product_cat',
            'field' => 'id',
            'terms' => $cats_array
        ),
      )
    ));
    
    $products                    = new WP_Query( $args );
    $woocommerce_loop['name']    = 'related';
    $woocommerce_loop['columns'] = apply_filters( 'woocommerce_related_products_columns', $columns );
    
    if ( $products->have_posts() ) : ?>
    
      <section class="related products">
    
        <?php
        $heading = apply_filters( 'woocommerce_product_related_products_heading', __( 'Related products', 'woocommerce' ) );
    
        if ( $heading ) :
        ?>
          <h2><?php echo esc_html( $heading ); ?></h2>
        <?php endif; ?>
    
        <?php woocommerce_product_loop_start(); ?>
    
          <?php while ( $products->have_posts() ) : $products->the_post(); ?>
    
            <?php wc_get_template_part( 'content', 'product' ); ?>
    
          <?php endwhile; // end of the loop. ?>
    
        <?php woocommerce_product_loop_end(); ?>
    
      </section>
    
    <?php endif;
    
    wp_reset_postdata();
    Автор rlbeors

    (@rlbeors)

    С экспортом и импортом это понятно. Хотелось найти инное решение

    Автор rlbeors

    (@rlbeors)

    Спасибо огромное, незнал за этот плагин

    Автор rlbeors

    (@rlbeors)

    я использовал данный код:

    function my_price($price, $_product)
    {
    $kurs = 58; // фиксированный базовый курс валюты
    $kurs_current = 58.8; // текущий курс валюты
    $new_price = $price * ($kurs_current / $kurs);
    return $new_price; // новая цена
    }
    add_filter('woocommerce_get_price', 'my_price',100,2);
    

    цена на товар меняется , но! только на фиксированный товар. а вариативный товар цена не меняется

    Эммм штатный неочень понравился. Он ячейки криво создает , все в куче не отлажено. Может есть что-то схожее. Пролистал интернет мало тем кто хотел бы создать прайс товаров с возможностью скачать его

    Автор rlbeors

    (@rlbeors)

    Kword спасибо большое. Если урлы будут это уже хорошо.

    Автор rlbeors

    (@rlbeors)

    А он умеет разве картинки товаров выводить в csv?
    А помимо штатногоможет есть какой-то другой плагин?
    По сути нужен прайс лист с теми данными атрибутов

    • Ответ изменён 4 года назад пользователем rlbeors.
Просмотр 11 ответов — с 1 по 11 (всего 11)