• Как сделать кнопки вместо выпадающего списка сортировки?

    Если открыть оный файл (woocommerce\templates\loop\orderby.php) то там "по русски" написано
    This template can be overridden by copying it to yourtheme/woocommerce/loop/orderby.php.
    что означает, что этот файл можно переопределить простым копированием в свою тему с соблюдением иерархии каталогов.
    Ну а дальше Клаву Вам в руки и творите что хотите.

    ps/ рекомендую прочитать ВСЕ что там написано. Я процитировал только часть.
    Ответ написан
    2 комментария
  • Антиспам плагин для Contact Form 7 в Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    1) почему не хотите ставить капчу? Если не хотите грузить пользователей лишними действиями, то можете поставить invisible recaptcha
    https://wordpress.org/plugins/invisible-recaptcha/
    2) https://ru.wordpress.org/plugins/contact-form-7-ho...
    Полезная статья - https://barn2.co.uk/stop-contact-form-7-spam/
    Ответ написан
    Комментировать
  • Как контролировать количество ajax запросов?

    rockon404
    @rockon404
    Frontend Developer
    Можно использовать debounce или throttle:
    function debounce(f, ms) {
    
      let timer = null;
    
      return function (...args) {
        const onComplete = () => {
          f.apply(this, args);
          timer = null;
        }
    
        if (timer) {
          clearTimeout(timer);
        }
    
        timer = setTimeout(onComplete, ms);
      };
    }


    function throttle(func, ms) {
    
      var isThrottled = false,
        savedArgs,
        savedThis;
    
      function wrapper() {
    
        if (isThrottled) { // (2)
          savedArgs = arguments;
          savedThis = this;
          return;
        }
    
        func.apply(this, arguments); // (1)
    
        isThrottled = true;
    
        setTimeout(function() {
          isThrottled = false; // (3)
          if (savedArgs) {
            wrapper.apply(savedThis, savedArgs);
            savedArgs = savedThis = null;
          }
        }, ms);
      }
    
      return wrapper;
    }


    Код вашего хандлера при использовании debounce будет такой:
    function handler() {
      // do something
    }
    
    var debouncedHandler = debounce(handler, 500);
    
    document.querySelecror('.submit').addEventListener('click', debouncedHandler);

    С throttle аналогично.

    Реализации debounce и throttle есть в lodash. Если используете эту библиотеку можно взять оттуда.
    Ответ написан
    Комментировать
  • Сортировка постов по последнему комментарию?

    dimasmagadan
    @dimasmagadan
    из коробки WP так не умеет.
    я решал так:
    1 вешаем хук - при добавлении комментария добавляем/обновляем к родительскому посту метаполе с текущим временем.
    2 делаем сортировку по этому метаполю
    Ответ написан
    Комментировать
  • Как нормально подключить jquery в wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    1) скрипты и стили подключаются через functions.php
    2) В ВП уже есть jquery, если вы хотите удалить его и добавить свою версию (более свежую например), то сперва сделайте wp_deregister_script()
    Пример:
    function register_styles_scripts() {
    wp_deregister_script('jquery');
    	wp_register_script('jquery', get_template_directory_uri() .
    		'/js/jquery-3.2.1.min.js');
    	wp_enqueue_script('jquery');
    }
    add_action('wp_enqueue_scripts', 'register_styles_scripts');


    Не забывайте, что если вы исопльзуете бутстрап, то jquery, popper подключаются до скрипта бутстрапа.

    Другой момент нужно глянуть сам код jquery. Если есть символы $ то замените на jQuery
    или же используйте следующее:

    $.noConflict();
    jQuery( document ).ready(function( $ ) {
    
    .........
    
    });
    Ответ написан
    1 комментарий
  • Реально ли фрилансить на PHP/«ваш язык» 2-3 часа в день без опыта?

    alams_stoyne
    @alams_stoyne
    Full Stack Developer - #PHP #CSS #JS #DB
    "Опыт получается только в боевых условиях, всё остальное теория." (с)

    На мой взгляд есть 2 пути научиться:

    Первый путь это стать подмастерьем у опытного наставника ( тут тебе и практические советы и проверка твоих творений ) и хоть "настоящих мастеров" мало, а "падаванов" прорва, так учиться вполне реально и это много лучше курсов без боевых задач.

    П.с.: с такими возможностями по времени Вы мало перспективный "падаван", но на вас могут сбрасывать рутину, проверять её и тем самым вы будете прокачивать свой скилл.

    Второй путь это выйти на рынок фриланса и делать то что по силам для прокачки практических навыков а не теоретических. Смотреть нравится не нравится область и само-обучаться. На первых парах не надо ставить целью заработать что-то кроме знаний и опыта.

    Нулевой путь решай проблемы людей тут на тостере (ищи ответы в интернете и вникай в суть проблемы), смотри ТЗ на фрилансе и делай проект т.к мало опыта маловероятно что кто-то сразу решит заказывать у тебя но задача боевая и так можно набить руку.

    P/s Заранее прошу прощения - Но Остапа понесло...


    Если вопрос ставится "Реально но ли грести бабло на фрилансе не хрена не умея или выдовая плохой код" то да реально.

    Если же Вам нравиться программирование, Вы готовы познавать и развиваться в этой области, то отбросьте мысли о деньгах, а рассматривайте как хобби - например игра на фортепиано, если регулярно тренироваться улучшая свою технику игры то со временем можно воспроизвести сложное произведение.

    Принимаете простую истину что "человек с практическим опытом" всегда сможет "переучиться" т.е вникнуть в новый язык/методику и т.д и на этом заработать.

    Так что все области одинаково круты и по своему интересны, а "перспективной" и "дорогой" её делают торгаши.

    Программисты не торгуют они творцы, и если ты сможешь не просто хорошо делать, а творить то и деньги будут ибо перспективной станет не область в которой ты работаешь а ты и твои творения.
    Ответ написан
    Комментировать
  • Сайт на домашнем сервере и VPS одновременно. Как настроить такую связку?

    hostmaster
    @hostmaster
    DevOps Engineer
    Amazon route53 это наверно самый простой способ, если вдруг ваш домашний сервер отвалится route53 поменяет dns записи и отправит трафик на vps.

    Это не бесплатно, но и не дорого совсем.
    Ответ написан
    1 комментарий
  • Как правильно публиковать проекты на Гите для резюме?

    @chromimon
    Самый лучший проект под резюме - это отлично документированный (многие это забывают) и полезный многим и разрекламированный статьями (много звезд даст в итоге на GitHub) проект.

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

    Так же могут другие люди его красть и выдавать за свой?


    Поставьте ограничительную лицензию и в доке не забудьте упомяните.

    Хотя я не понимаю в чем тут проблема:

    1) Если вы не хотите, чтобы вашу работу воровали - то почему бы вам не показывать ее потенциальному работодателю приватно? Зачем публиковать общедоступно на GitHub.

    2) Чем ворованное поможет, если вор не умеет в реальности сделать такое же сам, когда его уже наймут на работу.

    А если умеет - то это не за 1 день делается и не за одну неделю учится - примеров из своих реальных работ (пусть даже и учебных работ) надергать не проблема.
    Ответ написан
    2 комментария
  • Как сделать чтобы страница занимала всю высоту экрана?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    Ответ написан
    Комментировать
  • Официальное трудоустройство на удаленке - исключение или правило?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Оформление ИП и договор - нормальная ситуация. Особенно если компания берет на себя оформление и ведение ИП (что часто бывает в оутсорс, где 90% сотрудников - ИП).
    Но и просто работа по контракту, когда вы ИП - нормально.

    А вот полностью официальное трудоустройство как штатный сотрудник, при котором вы не являетесь в офисе, не проживаете в городе, и банально не можете прийти и подписать документы - такое конечно тоже бывает, но не часто.
    Ответ написан
  • Как установить необходимые права на новые файлы в UNIX?

    egor_nullptr
    @egor_nullptr
    Добавьте umask 0022 в ваш .bashrc (или другой подобный файл).
    Ответ написан
  • Как из статичных страниц сделать сайт на WordPress?

    LenovoId
    @LenovoId
    svg, css,js
    а для чего это ?
    для статичных сайтов есть github, jekkil тот же платный codepen и тому подобные сервисы
    Ответ написан
    Комментировать
  • Чему научиться кроме HTML, CSS, JS для фриланса на upwork?

    @Ravenio
    Доброго времени суток.
    Отвечая на вопрос.
    По количеству заказов, на данный момент, по апворку у заказчиков популярны PHP/Wordpress/Laravel, WP вне конкуренции.
    В сторону JS есть много заказов по React/Angular/Node.JS, меньше по Vue.
    Если же говорить про то, что необходимо, то начиная с самых низов от WP сейчас никуда не деться, просто навыками HTML/CSS на апворке да и вообще уже никого не удивить.
    На JS/React/Node.js заказы выше уровнем, без опыта и хорошего портфолио их брать сложнее чем на том же WP.
    Ну и общее.
    Про идеальный английский - неправда. Знать его конечно необходимо, но уровня intermediate вполне.
    По поводу маленьких ставок и быть первым - тоже, не совсем:
    • Во-первых это не всем известная помойка. Да, заказчики бывают разные, но основаная масса желает платить специалисту, не равняйте менталитет заказчика из США с нашим, у него не укладывается, что специалист ставит 5-8$ за час. В среднем, все начинают в диапазоне 12-15$, хотите можете и с 5$ начинать, но лучше сразу привыкать ценить свой труд. И вас ценить будут в ответ. Пример из опыта заказ на установку WP, и темы без кастомизации и прочего ушел за 35$/час, на вопрос почему, заказчик сказал, потому что я вижу что вы сделаете за час, а человек будет за 7$ ставить мне его неделю, может заказчик и не прав, но такой ход мысли у многих. Повторюсь есть и иные случаи, но потом часто можно в Job feed увидеть - "даю апворку последний шанс, чтобы сделать мою работу, предыдущий фрилансер не справился".

    • Во вторых, там необходимо ответить в течении определенного времени, обычно окно составляет около 10 минут. Ваш cover letter выстраивается у заказчика релевантно вашим скилам, портфолио, последним выполненым работам, но никак не зависит от того вы ответите первая или десятая.

    Ни в коем случае, не при каких обстоятельствах не работайте за отзыв и за очень маленькую ставку, мошенников и сволочей большое количество. Случаев работы за 5$ два месяца - масса. Начиналось все с небольшой правки, и обещаний оставить хороший отзыв, а потом в процессе узнаешь что такое JSS, что такое скрытые отзывы. И так люди работали.
    Старайтесь избегать заказчиков из Пакистана, Индии. Русскоязычных старайтесь тоже избегать, вообщем ищите заказы в странах от Германии и западнее.

    В любом случае, как раз где-то через 6-8 месяцев обучения, вы уже сами будете отвечать на этот вопрос другим. Удачи вам, Марина!
    Ответ написан
    2 комментария
  • Как отследить порядок вывода записи в wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Есть предположение, что вы не совсем корректно продумали архитектуру, но без нормального описания сути задачи сложно говорить точнее. По сути:

    1. 2 одинаковые записи не нужны, достаточно одной, а к ней уже привязывать счетчик(и)
    2. Счетчик тоже вполне может быть один, а вот его состояния, чередования и прочие данные - хранить отдельно
    3. Смена счетчика / обнуление и обновление данных вешается на cron
    Ответ написан
    3 комментария
  • Нормально ли использовать ветки для бекапа версии приложения?

    vaut
    @vaut
    Для маркировки каких либо значимых версий можно использовать теги. Не обязательно целую ветку для этого создавать.
    А добавление фичи в мастер по сути нечем не отличается от удаление легаси или рефакторинга. Ветка --> изменения --> объединение.
    Ответ написан
    Комментировать
  • Можно ли использовать github как хостинг для лендингов с PHP скриптами?

    Нет, GitHub Pages предназначены для хостинга только статичных файлов, исполняемые файлы на сервере не поддерживаются.
    Однако определять язык браузера и делать редирект можно и с помощью javascript.
    <script>
    var userLang = navigator.language || navigator.userLanguage; 
    alert ("The language is: " + userLang);
    if (userLang === "ru-RU"){
    window.location.href="https://google.com/";
    }
    </script>
    Ответ написан
    Комментировать
  • Почему не видны изменения?

    Очистите кэш, наверняка он там есть.
    Ответ написан
    Комментировать
  • Почему wordpress не отдает 404 по определенному url?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Внимательно посмотрите на регулярку слева, и на маппинг справа:
    (.?.+?)(?:/([0-9]+))?/?$ -> index.php?pagename=$matches[1]&page=$matches[2]


    Это - основное правило (rewrite rule) для страниц WordPress. Как оно работает:

    - /page-name/ - страница первого уровня
    - /page-name/sub-page-name/ - страница второго уровня (дочерняя, вложенная)
    - /page-name/sub-page-name/sub-sub-page-name/ - страница третьего уровня (и это не предел)

    В этих случае маппинг выдаст, соответственно:
    pagename=page-name
    page=
    
    pagename=page-name/sub-page-name
    page=
    
    pagename=page-name/sub-page-name/sub-sub-page-name
    page=


    и WP_Query будет запрашивать такие страницы. В вашем случае страница uslugi/asdfdsf, как дочерняя страницы uslugi – не существует. Отсюда и 404, все логично. Вот пример:

    5a134b88e6c47515219426.jpeg

    Если же ввести число, сработает другая часть регулярки:

    - /page-name/123/

    будет замаплен в:
    pagename=page-name
    page=123


    Чувствуете разницу? Вторая переменная, $page теперь заполнилась. Это нужно для разбивки контента страницы. WordPress позволяет вам разместить на странице какой-то длинный текст/контент, и разбить его на странички. Именно эта часть регулярки отвечает за постраничный вывод.

    Но поскольку в сам WP_Query отправляется запрос на получение контента страницы целиком, а постраничная разбивка происходит уже на лету, то и ответ 200 вполне логичен. Как и вывод одного и того же контента, независимо от номера страницы.

    Вот пример такого запроса. Обратите внимание на установленные переменные:

    5a134cea181ae872567841.jpeg

    Так работают стандартные rewrite rules WordPress. Что делать? Можно хукнуться в один из ранних хуков, например template_redirect, проверить контент на предмет постранички, и сделать редирект на 404. Но, зачем?
    Ответ написан
    5 комментариев
  • Почему я добавляю в .gitignore файлы, а их все равно отслеживает?

    JimmDiGreez
    @JimmDiGreez
    Full-stack Developer
    Потому что они уже были в индексе.
    https://git-scm.com/docs/git-rm#git-rm---cached
    git rm --cached
    позволяет убрать файлы из индекса, соответственно гитигнор на них подействует.

    git rm -rf --cached ios/build например.
    Поясню.
    -r - рекурсивно пройтись по заданому каталогу.
    -f - чтоб не ругался ни на что.
    Запись -rf дозволена соглашениями.
    --cached - удаление только из индекса (не самих файлов).
    ios/build - пусть к папке, в которой эту экзекуцию провести. (можно так же полный путь записать)

    package-lock.json кстати оставь.
    Ответ написан
    7 комментариев