Хуки в WordPress и как ими пользоваться

Артем Абрамович

Меня зовут Артем Абрамович и я являюсь фрилансером-вордпресером. Занимаюсь настройкой и редактированием сайтов созданных на CMS WordPress. Это основная моя специализация, есть еще несколько работ, которыми я занимаюсь, но обо этом вы можете более подробно узнать из моего портфолио.

77 комментариев к “Хуки в WordPress и как ими пользоваться”

    • Привет! Спасибо! Наконец-то они внедрили виджет картинок. Посмотрим что получится в итоге

      Ответить
  1. День добрый, спасибо за уроки, подскажите, каким образом можно сделать хук в header.php, который добавит номера телефонов в шапку сайта. Работаю на макете Jupiter.

    Ответить
    • Возможно какие то конкретизированные материалы можете ссылкой скинуть? Был бы премного благодарен.

      Ответить
    • Добрый! Это надо в теме смотреть. Проще через дочернюю тему изменить файл header

      Ответить
  2. Очень хочется посмотреть видео, как настроить магазин на поддомене на разных языках для одной страны. Спасибо.

    Ответить
    • Мне кажется он лучше индексируется. Я пробовал разными способами. Но лучше получилось на поддомене. Вот только не могу переключатель языков всунуть.

      Ответить
    • ТОгда тут лучше использовать мультисайты, а это совсем другая история

      Ответить
  3. Вопрос не по теме. Какой билдер страниц лучше и быстрее? Реально столкнулся с этой проблемой. Visual Composer тугодум при всем его многообразии. GMetrix ругается на js файлы. Мощность VPS не сильно улучшает результат. PageBuilder не пользовался. Хотелось бы узнать ваше мнение по поводу.

    Ответить
    • Пользовался и PageBuilder и Visual Composer, со скоростью у обоих проблемы. Самый быстрый из тех что пользовался — это Divi билдер

      Ответить
  4. Думал ли как-то разработать тему при помощи Underscores и запилить на эту тему видео?

    Ответить
  5. На счет экшинов. А почему нельзя просто было создать дочернюю тему и там все манипуляции с положением кнопки производить? Потом меньше нервов потратится при поиске нужного куска кода!

    Ответить
    • Можно и нужно такое делать через дочерку. Это было для примера и на тестовом серваке. А так, конечно, надо всегда использовать дочерние темы

      Ответить
  6. Артем, отличное видео!
    Есть вопрос (немного не по теме): каким плагинов в Вордпрессе можно реализовать подбор чего-то по параметрам (но не в Вукомерс)? Примерно как на этой странице: http://www.notik.ru/guru

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

      Ответить
  7. Артём привет, очень полезное видео.
    Вопрос не по теме:
    Хочу сделать скачивание файла только после регистрации, например скачать прайс- зарегистрируйтесь. Кто знает как?

    Ответить
    • В ВП есть встроенный функционал для этого, можно закрывать записи для не зареганных пользователей. А так есть масса плагинов для таких штук

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

    Ответить
    • С диви в этом плане проблемно будет. У них очень мало хуков, но можно попробовать

      Ответить
  9. а можно-ли как-то пропустить через фильтр хук? или по-другому: как вмешаться в структуру кнопки «добавить корзину» через любую php функцию для работы с html и добавить событие onclick для яндекс/гугл метрики например…

    Ответить
    • Проще файл изменить, который подрубается для вывода кнопки или событие клика через jquery ловить

      Ответить
  10. Артем, здравствуйте! Подскажите как добавить логотип сайта не в меню, а пониже чтобы сделать его больше http://pandorqi.beget.tech/ Если в хедерпхп добавлять в любое место все равно он в строчке меню вылезает.

    Ответить
  11. почему это все пишется в файл function.php он общий для всех страниц?

    Ответить
    • Да, так работает Вордпресс. Можно вынести в отддельный файл, но подключать надо все равно в function.php. Ну или плагин использовать

      Ответить
  12. Здравствуйте! Подскажите, а как задать условие что бы показывалась только на странницах, а на записях оставить
    у меня есть в функции то что убирает каноникал, но он убирает везде

    add_filter( ‘wpseo_canonical’, ‘__return_false’ );
    remove_action(‘wp_head’,’rel_canonical’);

    Спасибо!

    Ответить
    • Доброго! Ну вот так примерно
      add_filter( ‘wpseo_canonical’, ‘remove_canonical’ );
      function remove_canonical($canonical){
      if (is_page()){
      $canonical = __return_false();
      }
      return $canonical;
      }
      Проверили у себя, вроде работает

      Ответить
    • Было бы здорово снять видео, с более подробным разбором построения таких функций с условиями, а то не сильно понятно когда нужно маску прописывать, что за что отвечает:)

      Предлагаю взять на рассмотрение мультисайтовость WordPress и такой плагин Clearfy как платный так и бесплатный, кстати бесплатный ничем не хуже, местами лучше.)

      Ответить
    • Дак это от конкретных задач зависит, невозможно все описать.

      А что за бесплатный Клерфай? Чет не нашел у них бесплатного варианта

      Ответить
  13. как то странно вот wp footer но я как бы неоднократно его объяснял как он работает и тд а вообще вот код вот еще строчка и вообщем все просто… не знаю дайте хоть ссылки что-ли на ресурсы я конечно понимаю что я слишком тупой но…

    Ответить
  14. Боже гениально вообщем экшены нужны чтобы безболезненно убирать или добавлять контент но почему то читал я wp setting API и при создании меню в админ панели везде используется экшен ммм не знаю может это тоже контент я имею ввиду при регистрации тех же пользовательских типов записей но в данном случае вы просто запутали все мое понимание о вордпресс в принципе я уж подумываю бросить веб((

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

      Ответить
  15. это видео надо смотреть, ставить на паузу, пробовать, потом еще раз пересматривать и пробовать на других примерах — пока в башке не уложится)))

    Ответить
    • Абсолютно верно, тут надо только понять, потом как по маслу все пойдет

      Ответить
  16. Артем, здравствуйте. Вынужден у вас просить помощи в решении одной проблемы.

    Есть некий код галереи, которая выводится на главной странице сайта http://prntscr.com/jcnmnb . Есть идея этот же функционал использовать на страницах произвольных типов записей.

    Мое видение решения данной проблемы — использовать хук action и настроить запуск функционала только на нужных мне страницах и шаблонах. Заготовка имеет следующий вид: http://prntscr.com/jcnotc .

    А в необходимых мне шаблонах просто прописать do_action и все.

    Собственно задача состоит в том, чтобы ГРАМОТНО И КРАСИВО вставить код галереи (сложность в том, что он html с php вперемешку) в сам хук.

    Сам хук находится в functions.php, но в идеале я бы хотел разбить на 2 файла: первый, в котором сам код галереи, во втором сам хук action. Это идеальное для меня было бы решение, так как не хочется загромождать файл fuctions.php. Ну или на худой конец и код галереи и сам хук в одном файле. Но только не в functions. Большая сложность для меня состоит в том, что код галереи смешанного типа и имеет html и php.

    Надеюсь на вашу помощь и совет.

    Заранее вам спасибо и спасибо за ваши уроки. Сайт писал на основе вашего сериала HTML2WP.

    Ответить
    • Доброго! Путь верный, и путей решения несколько. Так как это к фронту относится, я бы посоветовал вывод галерей вынести в отдельный файл, расставить в нужных местах хуки, а потом на хуках просто подключать нужный файл. Или как делают в Вукомерсе — не просто подключать файл, а передавать еще нужные значения. Тут уже от темы зависит. Посмотрите код темы StoreFront, там именно так сделано

      Ответить
  17. красиво! Молодец! ХОЧУ ПРАВИЛА ПРИЕМА ШАБЛОНОВ ВОРДПРЕСС НА ТОРГОВЫЕ ПЛОЩАДКИ themeforest например

    Ответить
    • Это вам надо на канал к Александру Сокирке, у меня в планах подобного небыло

      Ответить
  18. Здравствуйте!
    Почему не работает?
    Тема OceanWP

    remove_action (‘woocommerce_single_product_summary’, ‘woocommerce_template_single_title ‘, 5);

    Ответить
    • Доброго! В теме значит фильтр уже используется или отключен с этим приоритетом. Ну и в данной теме этот фильтр заведен на настройку отключения заголовка. Проще через настройки отключить

      Ответить
  19. Урывками все.Автор не до конца объяснил один момент, уже кидается в другой.В итоге не понятно.

    Ответить
  20. Пиздец, объяснение… никакой упорядоченности, никакой теории, обрывки из отрывков и вырывание из контекста. Только время зря потратил, и один хуй — никакой конкретики.

    Ответить
  21. Мне кажется с этими экшенами путаница такая потом получится. Лучше просто в тупую код вписать куда надо да и все без всяких экшенов.

    Ответить
    • Не лучше, если есть инструмент экшенов то надо им пользоваться, да и не везде получиться просто так без последствий вставить код

      Ответить
  22. программист wordpress не должен знать, что такое «echo» — разве нет хука чтоб напечатать «echo»???

    Ответить
  23. Автор, доброго времени суток с уважением к Вам скажу спасибо за видео уроки что вы делаете многие посмотрел. Но не могу понять как открыть файлы Html в плагина Woocommerce? и тем более какая программа нужна и как вообще по шагово начать изменять Html, тем более пользоваться хукоми

    Ответить
    • Доброго! Любой редактор кода подойдет для подобного. И в Вукомерсе нет html файлов, весь html генериться через php

      Ответить
  24. Наконец-то мне стало ясно когда именно выполняется тот или иной хук. Уже неделю изучаю эту тему и только после этого видео мне дошло. Спасибо!

    Ответить
  25. Непонятно только, на кой хер было изобретать велосипед? Чем способ с хуюками, лучше обычной html-портянки, где можно было сразу в одном месте изменить все — расположение и стиль того или иного объекта?

    Ответить
    • А если надо изменить данные ядра, но так чтобы при обновлении ничего не слетело, тогда хтмл портянку не получиться использовать

      Ответить

Добавить комментарий

%d такие блоггеры, как: