• Как указывать почту на сайте, чтобы на нее не сыпался спам?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Использовать почтовый сервис с адекватным спам-фильтром. Все, что вы сможете закодить в html/js, можно будеть раскодить. Поэтому адрес все равно сграбят, как бы вы его не обфусцировали. Либо не указывайте вообще (используйте форму обратной связи), либо указывайте и не заморачивайтесь.
    Ответ написан
    2 комментария
  • Не кешировать результаты работы функции wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Плагины кеширования таки различные, кешируют на разных уровнях, поэтому подход к ним должен быть разный. Уточните, что именно вы не хотите кешировать. Если это full page cache, который отдает статику вообще без участия PHP - это одна ситуация. На Nginx и Varnish можно этим делом управлять (по Apache не знаю, давно с ним не работаю). Если это кеширование страниц целиком в memcached / redis, средствами PHP - это другое дело, тут уже что-то можно на уровне PHP изобретать. Если это обычный object cache - совсем другая история. В общем, опишите конкретную ситуацию.
    Ответ написан
    Комментировать
  • Как сделать возможно включения блоков в посту через редактор WP?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У редактора WP есть одна малоизвестная фича, называется Style Formats или что-то типа этого. По сути, это возможность оборачивать куски контента в свою разметку, и с помощью editor-style.css визуально их сразу же отображать как надо в самом редакторе. Для таких случаев - самое оно. Подробнее читайте тут www.wpbeginner.com/wp-tutorials/how-to-add-custom-...
    Ответ написан
    Комментировать
  • Как проще реализовать продажу билетов на мероприятия на WordPress + WooCommerce + Я.Касса?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Да вполне нормальное решение, если не писать кастомный код. Есть ивенты, и есть товары (билеты), которые нужно только залинковать с ивентами. WooCommerce позволяет и платежи интегрировать, и количество ограничить, и еще много полезного. Это быстрый и недорогой способ собрать функционал. Если же у вас сильно специфические требования, то лучше писать самому, разумнее всего на базе одного из этих плагинов - либо к WooCommerce товарам добавить функционал ивентов (календарь и тд), либо в ивентам добавить функционал платежей.
    Ответ написан
    Комментировать
  • Id поста вылез во frontend, в чем причина?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Уберите echo $cateID;
    Ответ написан
    Комментировать
  • Как использовать get_post_id?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В языке PHP нет такой функции. Судя по всему, она из какой-то CMS. Расскажите с этого места поподробнее.

    Если у вас там 10 карточек постов, то вам нужен самый обычный цикл для их вывода (WordPress Loop). ID поста в цикле получается с помощью get_the_ID(). Функции get_post_id() в WordPress я не встречал, она есть в bbPress.
    Ответ написан
  • Количество одновременных подключений к БД, а также процессорные ограничения?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Для подобных задач используются облачные сервера, а не "хостинги". Настраивается нода, на которой лимит это только ее реальная мощность. Дальше по мере роста нагрузки ноды масштабируются - либо ввысь (добавляем процессор-память этой ноде), либо вширь (подключаем дополнительные ноды).
    Ответ написан
  • Что означает "пиксель перфект" в описании задания?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Дополню ответы по поводу соответствия макетам. Иногда бывает, что макеты есть, но только часть из них вычищена и доведена до совершенства - одинаковые отступы, размеры шрифтом, междустрочные интервалы и тд. А на некоторых страницах или элементах/блоках могут встречаться неточности (чуть больше паддинг с одной стороны и тд). Так вот в таких случаях pixel perfect имеет более широкое значение. Я так говорю - это когда из дизайна пиксель-в-пиксель делается стайлгайд, где все элементы одинаковы. И дальше этот стайлгайд уже используется при сборке. Потому что если у нас у кнопки паддинги 10/20, то они у всех кнопок этого типа должны быть такие, по всему сайту. Даже если дизайнер на какой-то из страниц был неаккуратен и допустил 10/19 пикселей. В подобных случаях надо делать по стайлгайду и просить передать дизайнеру, что он неряха. Говорю об этом, потому что на практике встречал верстальщиков, которые таки пилили фанатично пиксель-в-пиксель, и все погрешности дизайнера в результате превращались в кучу magic numbers в CSS.
    Ответ написан
    2 комментария
  • Wordpress. Как новости одного сайта читать с другого?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Правильный способ: REST API. Получаете JSON.
    2. Нормальный, но уже устаревший способ: Ajax'ом спрашиваете URL на втором сайте, на нем же обработчик возвращает вам нужный контент. Не забывайте про CORS.
    3. RSS вполне тоже вариант.
    4. Олдскул - XML-RPC.
    Ответ написан
    Комментировать
  • Как настроить отправку почты на wordpress где используется woocommerce?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Используйте для подобных целей специализированные transactional email сервисы, как это делают все белые люди. Например, SendGrid. Подключается и настраивается легко. А вот использовать SMTP хостер правильно что запретил, ибо это прошлый век и вообще не для этих задач.
    Ответ написан
    6 комментариев
  • Что со шрифтами на сайте apple в chrome?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У меня все ок, нормально сглажено.
    Ответ написан
  • WordPress индексация данных в базе?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    ElasticPress. Для истинных ценителей шаредов Elastic Search есть в виде облачного сервиса.
    Ответ написан
    8 комментариев
  • Как сдлеать импорт записей из сообщества ВКонтакте в WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Подключить SDK для работы с VK API
    2. Подключиться к VK API, вытянуть массив постов со стены
    3. Пройтись циклом по массиву, на каждой итерации использовать wp_insert_post(), маппинг значений из ответа API и массива $postarr делаем руками.
    4. Уже внутри WP в админке проходимся, добавляем таксономии, если надо и тд
    5. Профит.
    Ответ написан
    Комментировать
  • Как обработать элементы подменю в wp_nav_menu?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    И меню, и подменю строятся одним и тем же Walker_Nav_Menu. Если вам надо вообще очистить все классы, есть для этого фильтры - например, в nav_menu_item_args вам доступен $item, в котором есть $item->classes. Обнуляйте, если хотите. На этом фильтре можно многое делать с $item, который содержит весь элемент пункта меню. Также есть точечный фильтр именно для классов - nav_menu_css_class. Есть nav_menu_item_id для управления id атрибутом.

    Изучите как строится меню в классе class-walker-nav-menu.php, многое прояснится. Если нужна полная свобода и тотальный контроль - просто наследуйте класс и пишите свои методы. Или копипастой из родительского класса и вырезаете все лишнее.
    Ответ написан
    Комментировать
  • Wordpress woocommerce: как можно разрешить просмотр woocommerce настроек и плагинов не только админу но и для других ролей?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Ставите плагин User Role Editor.
    2; Заходите, и найдя нужную вам роль, галочкой отмечаете дополнительные capabilities (вукомерсовские в данном случае).
    3; Выключаете или даже удаляете плагин.
    4. Профит!

    ЗЫ: Несмотря на присутствие слова user в названии, плагин работает именно с ролями. Вы, видимо прочитали как User Role Editor, а надо как User Role Editor.
    Ответ написан
    Комментировать
  • Custom post type как изменить url?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Во-первых, код регистрации CPT у вас сильно упрощен, там есть еще куча нужных параметров. 'has_archive' принимает не только булево значение, но и строку (собственно, как будет выглядеть url base архива). Есть еще важный параметр 'rewrite', который принимает целый массив значений.

    В принципе, добиться желаемого вы можете, вручную добавив свое правило rewrite_rule с параметром top, тогда оно будет отрабатываться первым и смотреть именно продукты. Впрочем, надо тестировать, потому что я подозреваю, что в этом случае у вас перестанут работать обычные страницы. А может и нет - никогда не было необходимости так делать.

    А вообще, если честно, это очередные пляски без надобности. Контент должен иметь base, по которому система определяет что это за тип данных (post type), а также это полезно и для SEO, плюс, собственно, архив - по адресу /products/ прям очень логично просится. В общем, у вас привычная и стандартная схема, зачем вам ее менять?
    Ответ написан
    Комментировать
  • Как отыскать нагрузку?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А на что хоть нагрузка выросла? Процессор? Память? Диск? Сеть? Заявление хостера из разряда "и кофе у вас невкусный, и сайт ваш говно". Пиково или стабильно? А если прогнать стресс-тесты? А пробовали прогнать плагином P3 (Plugin Performance Profiler)?
    Ответ написан
    2 комментария
  • Как вывести рекомендованные записи к посту на WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Конечно, можно.

    Вопрос в том, что вы подразумеваете под "рекомендованные записи к посту". То есть, я понимаю, что это когда читатель на single, то ему должен вывестись список постов, которые имеют отношение к текущему.

    Вопрос именно в этом отношении. Выборка по терминам таксономии? По тегам? По просмотрам? По лайкам? Посты того же автора? По комбинации перечисленных свойств? Или редактор хочет иметь возможность вручную этот список в админке добавлять? Или он таки должен создаваться сам, но редактор его может поправить? А на выводе какое количество, может ли оно меняться? А вывод вам в темплейт нужен, или в виде шорткода? Или, может, виджетом с настройками?

    От ответов на перечисленные выше вопросы зависит, будет ли это 5 строчек кода или большой и мощный плагин. Сделать - не проблема. Надо понимать четко, что именно надо делать.
    Ответ написан
  • Как сделать блоки по центру?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ответ написан
    Комментировать
  • Оптимизация frontend'a (помимо JavaScript)?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Меньше DOM элементов.
    Меньше вложенности DOM элементов.
    Меньше ивентов
    Минус jQuery
    Меньше скриптов и библиотек
    Меньше CSS
    Минус Bootstrap и прочие тяжелые либы
    Меньше repaint'ов
    Меньше манипуляций с DOM
    Больше оптимизации картинок
    Меньше кастомных шрифтов
    Если шрифты кастомные - использовать ровно необходимый charset и вырезать лишнее
    ...

    PS: SVG на PNG не меняйте. Сомнительная экономия на спичках, а качество сильно хуже, возможностей меньше. Да и вообще "фу, прошлый век"

    Ту же сеть не сбрасывайте со счетов - тот же HTTP/2 с его потоком (прощай, конкатенация) одновременно доставит в браузер все нужное, что ускорит прорисовку. А с новым server push все самое нужное вообще прилетает вместе с html. В общем, тут все связано.
    Ответ написан
    6 комментариев