• Как сбросить кеширование PDF на сайте?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    в cloudflare есть режим разработчика,когда кеши отключаются

    иначе - удаляй из кеша, есть там опция
    Ответ написан
    Комментировать
  • Как задать класс изображениям внутри записи на Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Самый простой способ - на хуке the_content обычной заменой или регуляркой, но это если у картинок всегда одна структура (например, мы точно знаем что тег будет <img src="..." class="..." ...). Но вообще парсить html регулярками не самая светлая мысль - для этого есть DOMDocument:
    function add_class_to_images( $content )
    {
        $document = new DOMDocument();
        libxml_use_internal_errors(true); // чтобы не ругался на семантические HTML5 теги
        $document->loadHTML( $content );
        libxml_clear_errors();
    
        $images = $document->getElementsByTagName( 'img' );
    
        /** @var \DOMElement $image */
        foreach ( $images as $image ) {
            $image->setAttribute( 
                'class', 
                $image->getAttribute( 'class' ) . ' my-new-class'
            );
        }
    
        return $document->saveHTML();
    }
    add_filter( 'the_content', 'add_class_to_images' );
    Ответ написан
    9 комментариев
  • Как настроить редирект с URL в верхнем регистре на соответствующие им URL в нижнем регистре?

    alek-sandr
    @alek-sandr
    Этот код (он взят по адресу который дал Василий Пупкин):
    <IfModule mod_speling.c>
    CheckCaseOnly On
    CheckSpelling On
    </IfModule>
    редиректит весь URL, адреса второстепенных страниц тоже.

    А код dodo512 редиректит только основной URL, без второстепенных страниц.
    Если адрес второстепенных тоже в верхнем регистре, то отправляет на 404-error — это конечно лучше чем дубли страниц с адресами в разных регистрах, но по моему 301 редирект лучше.
    Ответ написан
    1 комментарий
  • Как реализовать такой график?

    mQm
    @mQm
    https://medium.com/@gearmobile
    D3.js - это стандарт для визуализации данных. Все остальное из этой оперы - для сайтов на wordpress )
    Ответ написан
    Комментировать
  • Как реализовать такой график?

    Сам юзаю Chart.js. Там есть похожие графики, но не уверен что прям точь в точь такой можно построить, хотя кто его знает...
    Ответ написан
    Комментировать
  • Как реализовать такой график?

    @anny-ch1431
    Если используете реакт, можно попробовать react-vis , но не факт что точно такой же получится. Можно использовать D3, там больше свободы действия, но и разбираться придётся.
    Ответ написан
    Комментировать
  • Ненайдена переменная GULP SCSS?

    skhripushin
    @skhripushin
    Дизайнер-верстальщик
    color: $content;

    Пробел пропустил
    Ответ написан
    Комментировать
  • Превышении допустимой нагрузки на сервер, как исправить?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Либо диагностировать причины нагрузки и устранять её, что-то оптимизируя, либо (я рекомендую именно этот путь) отказаться от хостинга с лимитами - это жуткий атавизм в 2019-то году.
    Ответ написан
    Комментировать
  • Как в register_post_type в wordpress вывести кастомную таксономию из другого плагина?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Приоритет регистрации своего кастом посттайпа поставьте больше чем при регистрации нужной вам таксономии
    Ответ написан
    3 комментария
  • Как настроить почтовый сервер?

    shifaley
    @shifaley
    Маркетолог
    Два варианта решения проблемы:
    1. Если есть доступ к админке вордпресса, установить любой плагин для отправки почты через SMTP. Таких плагинов много, вот пример плагина и его настройки: https://www.siteground.com/tutorials/wordpress/use...
    2. С помощью FTP отредактировать файл wp-config.php, прописать там отправку почты с помощью SMTP. Плагины из первого пункта именно это и делают, предоставляя удобный интерфейс. Пример настройки: https://wordpress.org/plugins/wp-smtp-config/
    Ответ написан
    Комментировать
  • Отличие простой темы wordpress от премиум?

    @lloydbanks
    Премиум в первую очередь подразумевает высокое качество кода, богатый функционал, интерфейс и дальнейшую поддержку продукта, который ко всему этому должен быть одобрен по всем правилам той площадки, на которой будет размещаться, а не только то, "что оно продается". Поэтому, отвечая на ваш вопрос

    Я делаю макет с натяжкой на WordPress , можно считать это примиум темой ?)

    Не можно. Поскольку, с вероятностью 99.9% вы наговнокодите типичный фрилансерский шлак с подходом "и так сойдет" и забудете про него.
    Ответ написан
    1 комментарий
  • Почему не работает trigger('click') на сафари?

    alex_keysi
    @alex_keysi
    Помог с решением? Отметь “правильный ответ”
    Потому что у сафари другое название эвента.
    Вот тут про баг сафари 7+
    https://developer.mozilla.org/en-US/docs/Web/Event...
    И вот тут есть про другое название эвента, попробуйте их
    https://stackoverflow.com/questions/24077725/mobil...
    Вообще во многих библиотехал делают обертки над addEventListener, чтобы определять в каком браузере запустилось приложение, и задавать то название события, которое поддерживается текущим браузером.
    Ответ написан
    Комментировать
  • Почему при отправки формы CF7 ajax выдает ошибку?

    Такая ошибка означает, что в ответ на ajax приходит не json.
    Первое, что необходимо сделать - все-таки посмотреть что же приходит в ответ. Например в Google Chrome это можно сделать следующим образом:
    1. Открыть страницу, на который идет обращение с помощью ajax
    2. Открыть Инструменты разработчика (F12 или в меню Инструменты > Инструменты Разработчика)
    3. В открывшемся окне - перейти на вкладку Networks
    4. Совершить действия на странице, инициирующие отправку запроса с помощью ajax
    5. Во вкладке Networks появится отправленный ajax запрос. Нажать на данный запрос
    6. В появившемся окне перейти на вкладку Response. На данной вкладке отобразится ответ на ajax запрос, в том числе, если ответом не является json

    Исходя из того, что приходит в ответ - принимать решение об исправлении. Например, сервер, который обрабатывает ajax запрос может возвращать ошибку.

    Успехов!
    Ответ написан
    Комментировать
  • Почему при отправки формы CF7 ajax выдает ошибку?

    @vaajnur
    битриксоид
    такая ошибка означает, что в ответе приходит html а не json. Правь запрос, или смотри в консоли логи.
    Ответ написан
    Комментировать
  • Как вывести меню WP, что-б ссылка на текущую страницу становилась текстом?

    kores
    @kores
    Помог ответ? Отметь решением!
    // получаем а не выводим меню
    $menu = wp_nav_menu( array( 'echo' => 0, ) );
    
    // заменим текущую ссылку
    $menu = preg_replace('/(current-menu-item[^>]+>)<a[^>]+>(.*?)<\/a>(<\/li>)/s', '$1<strong>$2</strong>$3', $menu );
    
    // выводим на экран
    echo $menu;


    Подробнее - https://wp-kama.ru/question/tekushhaya-stranitsa-v...
    Ответ написан
    Комментировать
  • Над чем нужно работать, что улучшать?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    1. Закомментированный код на гитхабе - не хорошо. https://github.com/marinarodkin/aviasales-app/blob...
    2. Минимум логики в render функции компонента. Все сложные конструкции переносите в методы, а лучше в отдельные компоненты (тогда сможете легче контролировать перерисовку компонентов через shouldComponentUpdate , чтобы они не перерисовывались, если данные не поменялись). Вы можете прямо как методы писать стрелочные функции:
      class Flight extends Component {
          getWeekDay = (date) => {
              //..
          }
          // ....
      }

    3. Вы в половине случаев используете точку с запятой, а в половине нет. Используйте чаще.
    4. Атрибут for нельзя использовать в jsx (как и class, как вы знаете). Вместо for пишите htmlFor
    5. Смотрите консоль инструментов разработчика, там есть ошибки.
    6. Освойте shouldComponentUpdate, он позволяет контролировать перерисовку компонента при изменении состояния или пропсов. У вас при изменении кол-во пересадок, перерисовывается весь список билетов, даже те, которые уже были в этом списке. Многие скажут, что еще рано такое учить, но я не согласен. Если не учиться контролировать перерисовку еще в начале обучения, то можно написать очень много тормознутого софта.
    7. У вас данные ticket.json подгружаются хардкодно из github, это не хорошо, т.к. этот файлик с данными есть в папке public, и если потенциальный работодатель захочет поменять там что-то, он не увидит изменений (т.к. грузится с гитхаба).
    8. У вас если в данных в параметре departure_date стоит 11.10.2018 (т.к. сегодня), то отобразится это как "11 окт 2018, вс", т.е. день недели неправильный. А он неправильный потому, что это не октябрь, а ноябрь. Ошибка в методе getDateFormat
      const newDate  = new Date (year, month, day, );
      const monthName = ["дек", "янв", "фев", "мар", "апр", "мая", "июня", "июля", "авг", "сент", "окт", "ноя", "дек"];
      const newMonth = monthName[newDate.getMonth()];

      конструктор Date вторым аргументом ожидает номер месяца, нумерация которого начинается с нуля. т.е. 0 - январь, 1 - февраль, 11 - декабрь. Судя по monthName вы подозвевали, что есть что-то неладное, но ошибись с реализацией. monthName должен иметь обычный вид, начинаться с января и заканчиваться декабрем, т.к. нулевой элемент массива как раз подходит по логике с нулевым месяцем. В getDateFormat, а также в getWeekDay, вычтите из month - 1
      const newDate = new Date(year, month - 1, day)
    9. У вас в тех же getDateFormat и getWeekDay в конструкторе Date вы в конце аргументов пишите запятую, так не нужно делать. Это не вредно и не полезно, просто дурной тон. Там в любом случае будет undefined, хоть с запятой хоть без нее.
    10. Картинки тоже грузятся с marinarodkin.github.io, измените.

    11. const getStopsNumber = (stop) =>{
            switch (stop) {
              case 3:
                return "3 пересадки"
              case 2:
                return "2 пересадки"
              case 1:
                return "1 пересадка"
              case 0:
                return "без пересадок"
              default:
                return // это не нужно делать, писать return. Если вы удалите эту (и строку выше), то результат будет такой же - undefined
            }
          }

    12. Если бы в SideBar пропс stopsData был не объектом, а строкой или числом, то компонент SideBar можно было бы безболезненно превратить в PureComponent. Ну это так, к слову об оптимизации.
    13. Я бы в stopsClick передавал не объект события e, из которого вы потом берете id элемента через e.target.id (что не есть гуд), а сделал бы стрелочную функцию (или bind), в которую бы передавал id. Вот так
      <input onClick={() => this.props.stopsClick("allStops")} />
      <input onClick={() => this.props.stopsClick("noStops")} />

      Если это читают опытные ReactJS разработчики, рассудите пожалуйста. Согласен, что на каждый компонент будет создана своя копия функции, но по крайней мере, не нужно взаимодействовать с DOM напрямую.
    14. Это не красиво
      if( this.state.stops.allStops === false && this.state.stops.noStops === true && this.state.stops.oneStop === true && this.state.stops.twoStop === true && this.state.stops.threeStop === true  ){
               newStops = {...this.state.stops, allStops: true}
          }

      мне кажется, на дальнейшую логику это никак не играет роли, лишь создает глюк, когда выбираешь все чекбоксы кроме "все", и если кликнуть после этого на один из них, он не отожмется, а лишь включится чекбокс "все".
    15. Попробуйте везде сократить повторяющиеся конструкции. Например начните с stopsClick Не говорю, что у вас сразу получится, это приходит с опытом. Но просто попытайтесь подумать, как это можно сократить.


    Может я многое высосал из пальца, но это будет вам полезно. Учитесь, развивайтесь. Удачи вам в этом :-)
    Ответ написан
    1 комментарий
  • Как настроить почтовый сервер?

    Deissh
    @Deissh
    I like Python, Node.JS, Go, pain, bugs and my cat.
    Через FTP - никак так как он предназначен для доступа к файловой системе сервера.
    Ответ написан
    Комментировать
  • Как настроить стиль выходного файла SASS в gulp?

    Eridani
    @Eridani
    Мимо проходил
    outputStyle
    :nested
    :compact
    :expanded
    :compressed
    gulp.task('sass', function () {
     return gulp.src('./sass/**/*.scss')
       .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
       .pipe(gulp.dest('./css'));
    });
    Ответ написан
    4 комментария
  • Как настроить редирект с URL в верхнем регистре на соответствующие им URL в нижнем регистре?

    @dodo512
    Начиная с версии Apache 2.4 https://httpd.apache.org/docs/2.4/expr.html#functions
    RewriteCond expr "tolower(%{REQUEST_URI}) =~ /(.+)/"
    RewriteRule [A-Z] %1 [R=301,L]
    Ответ написан
    Комментировать