• Как верстать комментарии поста в Wordpress?

    Kozack
    @Kozack Куратор тега WordPress
    Thinking about a11y
    С этим очень больно работать.
    Лучше всего: не трогать HTML вообще. Работайте исключительно со стилями.
    Некоторые изменения HTML можно вносить через хуки или параметры функции.

    Подробности тут:
    https://wp-kama.ru/function/comment_form
    Ответ написан
    4 комментария
  • Как сделать скролл до якоря из мобильного меню?

    @MANCHERA
    web
    Я так понял что ты используешь jq этот скрипт сделает плавный скролл до блока с id который указан в href
    я нашёл такой скрипт на чистом js
    const anchors = document.querySelectorAll('a[href^="#"]')
    
        for(let anchor of anchors) {
            anchor.addEventListener("click", function(e) {
                e.preventDefault()
                const goto = anchor.hasAttribute('href') ? anchor.getAttribute('href') : 'body'
                document.querySelector(goto).scrollIntoView({
                    behavior: "smooth",
                    block: "start"
                })
            })
        }


    А следуиший код закрывает меню опять же на js
    $(".mainMenu ul li a").on("click" , ()=>{
            $(".mainMenu").removeClass("act")
        })


    точки с запятой можете проставить сами
    Ответ написан
    2 комментария
  • Как сделать на css такие боковые линии?

    https://jsfiddle.net/Lqc6snhf/11/

    <div></div>

    div{
      position: relative;
      width: 300px;
      height: 300px;
    }
    div::before, div::after{
      content: '';
      display: inline-block;
      height: 100%;
      width: 1px; 
      background: linear-gradient(to top, #a2a8ae00, #a2a8ae, #a2a8ae00);
    }
    
    div::after{
      position: absolute;
      right:0;
    }
    Ответ написан
    Комментировать
  • Как реализовать такую плитку на css или jquery?

    Vnevremen
    @Vnevremen
    digital designer
    Для сетки display: grid
    Для изображений object-fit: cover
    Ответ написан
    Комментировать
  • Выборка в mysql по полю?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Для начала попробуйте упростить запрос, убрав JOIN и проверить, изменилось ли поведение. Если нет, то у вас совершенно точно в coords не NULL, а, например, пустая строка.
    Если же поведение изменилось - проблема в джойне, но он выглядит совершенно нормальным и я сильно сомневаюсь в таком развитии событий.
    Ответ написан
    Комментировать
  • Проблема при добавлении 10 тыс точек на яндекс карты api?

    artzolin
    @artzolin
    php, WordPress разработка сайтов artzolin.ru
    Потому что нужно передавать не в цикле по одному объекту, а собрать json-массив. Посмотрите вот этот мануал https://yandex.ru/dev/maps/jsbox/2.1/object_manager

    И вот пример как собрать такой массив на php

    $mask = array();
    $mask['type'] = 'FeatureCollection';
    
    foreach ( $variable as $key => $value ) {
    	$mask['features'][] = array(
    		'register-post-types.php' => 'Feature',
    		'id' => $key,
    		'geometry' => array (
    			'type' => 'Point',
    			'coordinates' => [(float) $value->lat, (float) $value->long],
    		),
    		'properties' => array (
    			'balloonContentBody' => '<strong class="map-title"><a class="link" href="' . $value->post_link . '">' . $value->post_title . '</a></strong>',
    			'balloonContentFooter' => '<a class="hidden" href="#">Я был здесь!</a>',
    			'clusterCaption' => '<strong>' . $value->post_title . '</strong>',
    			'hintContent' => '<strong>' . $value->post_title . '</strong>'
    		)
    	);
    }


    После, с помощью json_encode( $mask ) вы можете передавать массив дальше в обработчик
    Ответ написан
    Комментировать
  • Проблема при добавлении 10 тыс точек на яндекс карты api?

    @neol
    Статья на хабре как будто под ваш вопрос писалась: ObjectManager в API Яндекс.Карт. Как быстро отрисо...

    Ну и в документации якарт работа с большим числом объектов вполне себе описана
    Ответ написан
    Комментировать
  • Как сделать такой поиск на css?

    Kurokq
    @Kurokq
    Наполни смыслом каждое мгновенье
    Ответ написан
    Комментировать
  • Как отправить админу письмо об успешном добавлении элемента bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    bitrix/php_interface/init.php
    AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("mailadmin", "OnAfterIBlockElementAddHandlerLast"));
    class mailadmin {
       function OnAfterIBlockElementAddHandlerLast(&$arFields) {
          if ($arFields["IBLOCK_ID"] == 11 && $arFields["RESULT"]>0) {
    /* получатели */
    $to= "Administrator <info@test.ru>" . ", " ; 
    /* тема/subject */
    $subject = 'Новая запись с #'.$ID.' в инфоблоке';
    $subject = '=?utf-8?B?'.base64_encode($subject).'?=';
    /* сообщение */
    $message = '
    <html>
    <head>
     <title>Новая запись с # ".$ID." в инфоблоке</title>
    </head>
    <body>
    <p>Какой то текст</p>
    </body>
    </html>
    ';
    $headers= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=UTF-8\r\n";
    $headers .= "From: My site <sale@test.ru>\r\n";
    $headers .= "Bcc: test@yandex.ru\r\n";
    mail($to, $subject, $message, $headers);
          }
       }
    };
    Ответ написан
    Комментировать
  • Как отправить админу письмо об успешном добавлении элемента bitrix?

    alexyarik
    @alexyarik
    Битрикс разработчик
    https://dev.1c-bitrix.ru/api_help/iblock/events/on...
    //отлавливаете событие
    AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("AfterElementAdd", "AfterElementAddSendMail"));
      //получаем админов
       $rsAdmins = CUser::GetList($by = "ID", $order = "ASC", array("GROUPS_ID" => 1));
       //получаем $admin["EMAIL"] и отправляем письмо
        while ($admin = $rsAdmins->Fetch()) {
            CEvent::Send(
    Ответ написан
    Комментировать
  • Как вывести координаты Яндекс.карты в админке Wordpress?

    karelina-nat
    @karelina-nat Автор вопроса
    Нашла решение, благодаря ответу на вопрос здесь: Вопрос
    Только я немного под себя переделала код. Может кому пригодиться.

    Первым делом подключим скрипты яндекс.карт. Обратите внимание, что все скрипты я подключаю на хуке wp_footer, поэтому подключение API яндекс.карт должно быть производиться раньше, чем скрипт js.

    В файле functions php нужно сделать следующее:
    add_action('wp_footer', 'ya_map_scripts'); // Подключаем скрипт с API карт
    add_action('wp_footer', 'js_scripts'); // Подключаем скрипт js
    
    function ya_map_scripts() {
           wp_enqueue_script('ymaps', 'https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=ВашКлючAPI"', [], null, true);
    } // Скрипт яндекс.карт
    
    function js_scripts()
    {
        wp_enqueue_script('main', get_template_directory_uri() . '/assets/js/main.min.js');
    }  // Скрипт js, адрес, естественно, указываете свой


    Теперь, что нужно прописать на странице, где у нас будет подключена карта:

    <script>
    //Определяется переменная, которая содержит адрес вашего объекта
          var js_ad = '<?php echo the_field('adres_na_ostalnyh_straniczah', 'option'); ?>';
    //В моем случая я подключила поле из страницы опций.
    // Можно подключить, например, кастомное поле через плагин ACF
    //Тогда это будет выглядеть как var js_ad = '<?php echo the_field('название_поля'); ?>';
     </script>
    
    <div id="map" class="map-yandex">  
    // это контейнер, в котором будет отображена карта


    На класс map-yandex у меня повешены стили карты, например, такие:
    .map-yandex {
        overflow: hidden;
        width: 100%;
        height: 502px;
        position: relative;
    
        @media (max-width: map-get($tablet, lg)) {
            pointer-events: none;
        }
    }


    И наконец вставляем скрипт из геокодера яндекс.карт:
    Геокодер
    и вставляем туда нашу переменную js_ad
    ymaps.ready(init);
    
     function init() {
         var myMap = new ymaps.Map('map', {
             center: [55.753994, 37.622093], // поменяйте местоположение центрирования карты, можно воспользоваться сервисом https://constructor.maps.yandex.ru/location-tool/
             zoom: 9
         });
    
         // Поиск координат центра значения нашей переменной js_ad.
        // Строку Россия я сделала на всякий случай, если карты вдруг захотят убежать в другую страну
         ymaps.geocode('Россия,' + js_ad, {
             /**
              * Опции запроса
              * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/geocode.xml
              */
             // Сортировка результатов от центра окна карты.
             // boundedBy: myMap.getBounds(),
             // strictBounds: true,
             // Вместе с опцией boundedBy будет искать строго внутри области, указанной в boundedBy.
             // Если нужен только один результат, экономим трафик пользователей.
             results: 1
         }).then(function (res) {
             // Выбираем первый результат геокодирования.
             var firstGeoObject = res.geoObjects.get(0),
                 // Координаты геообъекта.
                 coords = firstGeoObject.geometry.getCoordinates(),
                 // Область видимости геообъекта.
                 bounds = firstGeoObject.properties.get('boundedBy');
    
             // Добавляем первый найденный геообъект на карту.
             myMap.geoObjects.add(firstGeoObject);
             // Масштабируем карту на область видимости геообъекта.
             myMap.setBounds(bounds, {
                 // Проверяем наличие тайлов на данном масштабе.
                 checkZoomRange: true
             });
    
             /**
              * Все данные в виде javascript-объекта.
              */
             console.log('Все данные геообъекта: ', firstGeoObject.properties.getAll());
             /**
              * Метаданные запроса и ответа геокодера.
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/GeocoderResponseMetaData.xml
              */
             console.log('Метаданные ответа геокодера: ', res.metaData);
             /**
              * Метаданные геокодера, возвращаемые для найденного объекта.
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/GeocoderMetaData.xml
              */
             console.log('Метаданные геокодера: ', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData'));
             /**
              * Точность ответа (precision) возвращается только для домов.
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/precision.xml
              */
             console.log('precision', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.precision'));
             /**
              * Тип найденного объекта (kind).
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/kind.xml
              */
             console.log('Тип геообъекта: %s', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.kind'));
             console.log('Название объекта: %s', firstGeoObject.properties.get('name'));
             console.log('Описание объекта: %s', firstGeoObject.properties.get('description'));
             console.log('Полное описание объекта: %s', firstGeoObject.properties.get('text'));
    
             /**
              * Если нужно добавить по найденным геокодером координатам метку со своими стилями и контентом балуна, создаем новую метку по координатам найденной и добавляем ее на карту вместо найденной.
              */
             /**
              var myPlacemark = new ymaps.Placemark(coords, {
              iconContent: 'моя метка',
              balloonContent: 'Содержимое балуна <strong>моей метки</strong>'
              }, {
              preset: 'islands#violetStretchyIcon'
              });
    
              myMap.geoObjects.add(myPlacemark);
              */
         });
     }
    Ответ написан
    Комментировать
  • Как в woocomerce сделать передвижение блоков только для определенной категории?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    function wpp_change_wc_block() {
    		global $post;
    		if ( has_term( [ $term_1_ID, $term_2_ID ], 'product_cat', $post ) ) {
    			remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
    			add_action( 'woocommerce_single_product_summary', 'woocommerce_output_product_data_tabs', 6 );
    		}
    	}
    
    	add_action( 'init', 'pp_change_wc_block' );
    Ответ написан
    Комментировать
  • Как сделать эффект свечения с svg?

    LenovoId
    @LenovoId Куратор тега SVG
    svg, css,js
    https://codepen.io/topicstarter/pen/BaLERwv - как обычно feGausianBlur для копии stroke
    Ответ написан
    Комментировать
  • Как сделать эффект свечения с svg?

    iamd503
    @iamd503
    Верстальщик
    Ответ написан
    Комментировать
  • Есть ли аналогичные карусели на других фреймворках?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Точно нету? Демо Swiper с эффектом Coverflow.
    Величина разворота, смещение - всё кастомизируется.
    Ответ написан
    Комментировать
  • Почему slick слайдер показывает 2 слайд?

    daemonhk
    @daemonhk
    ПсиХоПат
    1. Добавить параметр variableWidth:true
    2. Задать ширину контента при необходимости
    3. Полагаться на то, что слик нормально растянет контент, такое себе
    Ответ написан
    5 комментариев
  • Как сделать flex 3 в ряд?

    @Steppp
    Падинги убери, они прибавляются к 33,33333% и того уже 40%!

    Или добавь стили
    * {
      box-sizing: border-box
    }


    5fe6792762be6462395835.png
    Ответ написан
    1 комментарий
  • Отдельные дополнительные поля для подразделов bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Поскольку на странице могут находиться разные компоненты, вариант с условиями может оказаться сложным, а потому проще для каждого раздела создать физическую папку и индексную страницу , где расположить нужные вам компоненты, а в самих компонентах вы уже сможете назначить нужный шаблон компонента.
    Шаблон сайта для конкретного раздела можете изменить в шаблонах сайта:
    пример
    5fe5d39fcef20884396694.jpeg

    Разделы в инфоблоке оставьте, когда будете настраивать компоненты в физической папке, укажите из какого раздела инфоблока брать информацию
    Ответ написан
    Комментировать
  • Как можно исключить из serialize данные?

    Tim-A-2020
    @Tim-A-2020
    как вариант
    <form>
      <input id="product_preview183" name="variant" value="183" type="radio" class="sytle-input" checked="">
    
      <input class="amounts incr__val" name="add_variant[107]" type="text" value="0">
      <input class="amounts incr__val" name="add_variant[108]" type="text" value="2">
    
      <button type="submit" value="">Добавить</button>
    
    </form>

    let form = $('form');
    let data = form.serializeArray().filter(item => +item.value);//фильтрация подойдет если в value будут цифры, иначе поменять нужно условие
    console.log(data );
    /*
    [
    {name: "variant", value: "183"},
    {name: "add_variant[108]", value: "2"}
    ]
    */
    // после data передаем в аякс
    Ответ написан
    1 комментарий