Задать вопрос
  • Как сделать фильтры, поиск по WP_Query?

    Prakop
    @Prakop
    Про поиск я не понял
    а по поводу фильтрации я делаю так
    вот код формы для фильтра где например фильтриуем по атрибуту atribut1 и atribut2
    <div class="catalog-filter">
        <form method="POST" action="/wp-admin/admin-ajax.php" class="filter_go row">
            <input type="hidden" name="action" value="myfilter"><!-- название фильтра -->
            <input type="hidden" name="id" value="53"><!-- id категории откуда берутся записи -->
            <div class="col">
                <select class="input-control" name="atribut1">
                    <option value="">Фильтр</option>
                    <option value="Значение1">Значение1</option>
                    <option value="Значение2">Значение2</option>
                    <option value="Значение3">Значение3</option>
                    <option value="Значение4">Значение4</option>
                    <option value="Значение5">Значение5</option>
                    <option value="Значение6">Значение6</option>
                </select>
            </div>
            <div class="col">
                <select class="input-control" name="atribut2">
                    <option value="">Фильтр</option>
                    <option value="Значение1">Значение1</option>
                    <option value="Значение2">Значение2</option>
                    <option value="Значение3">Значение3</option>
                    <option value="Значение4">Значение4</option>
                    <option value="Значение5">Значение5</option>
                    <option value="Значение6">Значение6</option>
                </select>
            </div>
        </form>
    </div>


    Дале через js передаем данные ajax-ом отправляем и потом принимаем и вставляем в блок с классом catalog-row
    $.ajax({
            url:filter.attr('action'),
            data:filter.serialize(), // form data
            type:filter.attr('method'), // POST
            beforeSend:function(xhr){
                $('.catalog-row').html('<p><b>Загрузка...</b></p>'); // insert data
            },
            success:function(data){
                $('.catalog-row').html(data); // insert data
            }
        });

    ну сам код который вставляем в functions.php
    <?php
    add_action('wp_ajax_myfilter', 'misha_filter_function'); // wp_ajax_{ACTION HERE}
    add_action('wp_ajax_nopriv_myfilter', 'misha_filter_function');
    
    function misha_filter_function(){
    
    $atribut1 = $_POST['atribut1'];
    $atribut2 = $_POST['atribut2'];
    
    
    if($atribut1){
      $mass[] = [
        'key' => 'atribut1',
        'value' => $atribut1
      ];
    }
    if($atribut2){
      $mass[] = [
        'key' => 'atribut2',
        'value' => $atribut2
      ];
    }
    
    
      $args = array(
        'orderby' => 'date', // we will sort posts by date
        'order' => 'ASC', // ASC or DESC
        'posts_per_page' => 999,
        'meta_query' => [
          'relation' => 'AND',
          $mass
        ]
      );
        $args['tax_query'] = array(
          array(
            'taxonomy' => 'category',
            'field' => 'id',
            'terms' => $_POST['id']
          )
        );
    
      // if you want to use multiple checkboxed, just duplicate the above 5 lines for each checkbox
      $query = new WP_Query( $args );
      if( $query->have_posts() ) :
        while( $query->have_posts() ): $query->the_post();
          $field = get_fields(); ?>
            <div class="col-xl-3 col-md-6 col-sm-6">
                <div class="catalog-box base-box">
                    <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'medium' ); ?></a>
                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                </div>
            </div>
    <?php    endwhile;
        wp_reset_postdata();
      else : 
            echo 'Нет товаров';
      endif;
      die();
    }
    ?>


    Дальше таким же образом можно делать пагинацию и другие фильтры и поиск
    Ответ написан
    Комментировать
  • Как сделать ссылку по id?

    Prakop
    @Prakop
    Как я понял переход не скролом к блоку идет, а блоки в виде табов
    Можно тогда использовать запросы типо домен/страница/?blok=bylo
    Потом на странице смотрим пришло нам blok=bylo или нет, и тогда уже делаем что надо
    И через php можно и через js
    Ответ написан
  • Как убрать tag из url в адресной строке?

    Prakop
    @Prakop
    Есть плагин который позволяет убрать и "category" и "tag" WP No Base Permalink
    Ответ написан
    Комментировать
  • Почему не получается поместить текст в рамках тега span?

    Prakop
    @Prakop
    я бы советовал вообще пересмотреть весь код, отказаться от использования тега <br>, и использовать margin, либо если надо через <br> то можно здесь им просто присвоить disply:none;
    Добавь это в css
    .stage6_text_mobile br { disply:none;}
    Ответ написан
    Комментировать
  • Почему не работают медиа запросы?

    Prakop
    @Prakop
    Вот что мне помогло, вставить в шапку сайта такой метатег
    <meta name="viewport" content="width=device-width, initial-scale=1">
    Ответ написан
    4 комментария