• Как узнать к какой таксономии принадлежит метка?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Объект типа WP_Term содержит название таксономии в свойстве $term->taxonomy.

    Для получения объекта термина используется get_term( $term_id ).

    $term = get_term( $term_id );
    echo $term->taxonomy;


    Если находитесь на странице архива данного термина, то можете получить объект термина с помощью get_queried_object().
    Ответ написан
    Комментировать
  • Задать класс записи имея id?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    но так как id идут через запятую не срабатывает

    Почитайте про:
    - explode
    - foreach
    Это основы PHP, самые-самые основы.
    Ответ написан
    Комментировать
  • Как вывести записи паралельные id?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Можно сделать двухстороннюю связь с помощью дополнительного поля. При сохранении записи 22 (продукт), брать список ID связанных отраслей и каждой из них дописывать в мета что-то типа connected_products => [22,]. Обратите внимание, что ID должны идти в массиве или через запятую - это позволит вам привязывать несколько продуктов к одной отрасли (и не забудьте перед установкой нового ID сначала получить старое значение, если таковое имеется, чтобы не затирать существующие привязки).

    Псевдокод (пишу не проверяя, чтобы продемонстрировать логику):

    add_action( 'save_post',  'connect_products_to_industries' );
    function connect_products_to_industries( $post_id, $post, $update ) 
    {
        if ( ! empty( $_POST['acf_field_insdustries'] ) ) { // Если отраслей есть, название поля от балды
            // предположим, что отрасли будут массивом ID, пройдемся по нему:
            foreach ( $_POST['acf_field_insdustries'] as $industry_id ) {
                // Получаем текущий список связанных продуктов
                $products_in_industry = get_post_meta( $industry_id, 'connected_products', true );
                // Надо будет проверить, не пустое ли значение (empty string если привязок еще нет, а нам массив нужен), это опущу, сами сделаете
                // Дополним список IDшкой текущего продукта, если его еще нет в этом списке.
                if ( ! in_array( $post_id, $products_in_industry ) ) {
                    $products_in_industry[] = $post_id;
                    // И запишем это обратно в отрасль
                    update_post_meta( $industry_id, 'connected_products', $products_in_industry );
                }
            }
        }
    }

    Если вам надо будет выборки делать (Meta_Query) по $products_in_industry, сохраняйте IDшки продуктов отдельными мета-записями (bool $single должен быть false). Тогда с массивами и склейкой с предыдущими данными заморачиваться не надо будет, можно получать массив этих записей и работать с ним подобным образом.

    Для вывода продуктов на странице отрасли достаточно запустить get_posts/WP_Query передав туда через post__in массив IDшек из meta (connected_products).
    Ответ написан
    Комментировать
  • Как на страницу woocommerce добавить поле для ввода данных?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    По ссылке вполне приемлемый метод. Что касается админки - конечно их там не будет, потому что в примере по по ссылке нету кода для админки. Его надо написать дополнительно.
    Ответ написан
    Комментировать
  • Как правильно составить запрос в БД Woocommrce?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Поле _price находится в wp_postmeta, а не wp_posts
    2. Поле kyrs (кстати, такая транслитерация слова "курс" является примером говнокода) тоже скорее всего в wp_postmeta
    3. Вам всем товарам с полем kyrs одинаковую цену выставить надо?
    4. В один запрос это формировать не факт что разумно. Сначала получите ID записей, которые post_type=product + post_status=publish + имеют meta_key 'kyrs'. А потом уже с этим массивом ID работайте, устанавливая нужные цены в таблицу wp_postmeta.
    Ответ написан
  • Wordpress удаляет ссылки (урл), а при вставке видео с youtub (удаляет урл видео), как исправить?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Для начала, YouTube вставляется через Embed, а не iframe - достаточно вставить ссылку на видео, остальное WP сделает сам.

    Что касается вырезания URLов, смотрите что у вас за плагины, проверяйте код который висит на хуке the_content.
    Ответ написан
    Комментировать
  • Что подучить в добавок к PHP / JQuery веб разработчику?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если есть желание оставаться в нише WordPress и развиваться дальше c возможным ростом и по деньгам - vanilla JavaScript и современные практики в нем, React (потому что Gutenberg). Ну и, конечно же, больше правильного PHP.
    Ответ написан
    1 комментарий
  • Где WP обрабатывает код статьи перед рендером?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Перед выводом значения из базы применяется фильтр the_content. По умолчанию из коробки на нем висит ряд коллбеков, один из них - wp_autop, который и формирует параграфы.

    Все это есть в документации, все это можно отловить и посмотреть как через код в любом IDE, так и с помощью Xdebug.
    Ответ написан
    1 комментарий
  • Материалы по правильной архитектуре проектов на laravel?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    laracasts.com
    Ответ написан
    Комментировать
  • Есть ли сервис по типу Upwork, но без заказов и фрилансеров?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У меня украинский ФОП (аналог ИП) на едином налоге. Американские и европейские клиенты платят без проблем обычным SWIFT-переводом по инвойсу. В том числе крупные компании, которых смело можно зачислять в enterprise. Ни разу никаких проблем или вопросов не было.
    Ответ написан
    Комментировать
  • PhpStorm нагрузка на CPU под 100% (Mac OS) это норма?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У меня 15ка 2015го, там конечно 4 ядра и 8 гиг оперативы. Но шторм с весьма большими проектами (тот же WP, Laravel, Symfony) летает. При этом вагон плагинов, все индексируется и тд. В том числе стоит дополнительный PHP Inspections и парочка линтеров, которые неплохо так жрут CPU.

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

    5b50fda44df87435201563.jpeg
    Ответ написан
  • MacBook Pro 13 2017 (работа с внешним 4К монитором)?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    userS4,
    А не сильно при этом будет нагреваться/шуметь?

    Будет шуметь. При обычной работе - не сильно, при просмотре 4к - сильно.

    А у старшей модели с этим дела лучше или тоже будет аналогично?

    У старшей модели подключение внешнего монитора принудительно врубает дискретку, а она, зараза, греется. Поэтому шумит постоянно, по не громко. Если еще и нагрузить - шумит на полную.

    а Ваша Пятнашка сильно греется во время просмотра 4К?

    Греется. Она с дискреткой вообще хорошо греется.

    И нагрев, и шумы (которые есть следствие нагрева) частично лечатся охлаждающей подставкой. Я когда за столом работаю с 4к 27" монитором, внешними клавой и тачпадом, то ставлю ноут на подставочку (алюминиевая радиаторная поверхность + большой вентилятор) - шумит и греется сильно меньше. Ну прям совсем сильно меньше.

    Дополнительно, следует регулярно (раз в год) проводить профилактику - чистку внутренностей от пыли + накладывать свежую термопасту. Грязный ноут греется намного сильнее, а значит и шумит намного больше.
    Ответ написан
  • Ускорит ли Wordpress покупка более мощного сервера?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Nginx, PHP 7.2 c Opcache, объектный кеш. Настроить это все нормально (плюс БД).
    Дальше - профилирование кода. Можно Blackfire.io - он легковесный, можно запустить на продакшне (не будет такого тупняка как от Xdebug). Профилирование выявит узкие места, по ним можно будет делать выводы.
    Ответ написан
    Комментировать
  • Как перенести записи и изображения записей на новую установку wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Бесплатный форк WP Sync DB + WP Sync DB Media Files (add-on).
    Или же оригинальный плагин от Delicious Brains с таким же адд-оном (платно, но лучше) - WP Migrate DB Pro.
    Ответ написан
    Комментировать
  • Переливание пользователей в МЛМ матричной системе?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Посмотрите в сторону процессинга на PHP с помощью рекурсии. Для МЛМ-матриц рекурсии – самое оно. Глядишь, и код перестанет так сильно пахнуть.
    Ответ написан
    1 комментарий
  • Как сделать страницу (спасибо за заказ) после оформления заказа на WP?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У WooCommerce есть стандартная страница "Thank you", темплейт для нее находится в
    /plugins/woocommerce/templates/checkout/thankyou.php
    Ответ написан
    Комментировать
  • С чего начать и как себя рекламировать веб-мастеру?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Для начала, перестать называть себя "веб-мастер". Это термин из 90х, и лично у меня закладывается подозрение, что человек владеет технологиями именно того периода. Нынче есть модный термин full-stack developer. Впрочем, и понятие full-stack сейчас не очень-то хорошо на себя натягивать. Ибо тот, кто делает только одно (фронт, бек и тд), как правило прокачивает скилы до более высоких уровней, чем эникейщик, который умеет всего понемножку. И хоть уметь во все в нашей сфере необходимо, должен быть фокус. Именно фокус на чем-то одном приводит к работе над хорошими проектами с хорошими бюджетами. Со временем, естественно. Опыт - все.

    Далее, если еще не учишь английский, то самое время начать. Вчера. Без английского у тебя всегда будет потолок, в который ты упрешься очень быстро.

    Теперь по вопросам:

    Какие сайты выбирать для фриланса по веб-составляющей, популярные или нет?

    Upwork

    Стоит ли вкладываться в покупку премиум-аккаунтов на таких сайтах и окупятся ли они?

    Если собираешься работать там фуллтайм и долго - да и да.

    Нужно ли продвигать себя в контекстной рекламе, группах вк за деньги?

    Не думаю. Хотя, если твоя целевая аудитория там - тогда да. Но нет.

    Долго ли заняло ваше продвижение, и много ли у вас заказов теперь?

    Сложно сказать где и когда наступил тот момент, когда "продвижение" было достигнуто, ну или как еще это сформулировать. Скажу лучше так - я в это сфере с 1997 года, и до сих пор "продвигаюсь". Потому что точка Б как таковая отсутствует. Это вечный процесс движения вверх, местами проседая вниз, местами плато, местами снова вверх... Далее - количество заказов не столь важно. Важно их качество, бюджеты, ну и, как результат, соотношение количества к бюджетам. Грубо говоря, можно за 6 месяцев сделать один проект с бюджетом $10-30-50к, а можно все эти 6 месяцев пилить 20 проектов по $500.

    Какая среда разработки удобнее для вас? (имею под владением сразу mac, windows и ubuntu)

    В принципе она не важна, "на скорость не влияет". Лично мне - mac, ну и ubuntu/debian/centos/freebsd на серверах.
    Ответ написан
    Комментировать
  • Как организовать загрузку изображений пользователем?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Комментировать
  • Какой хороший плагин для загрузки и воспроизведения видео на Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Это изначально плохая идея. Очень плохая. Изучите что такое видео-стриминг, какую нагрузку дает на сервер просмотр видео (включая занятые соединения) и тд. Для хранения видео существуют специализированные сервисы (как user-friendly - YouTube, Vimeo, так и developer-friendly - именно видео-хостинги на уровне файловой и сетевой системы).
    Ответ написан
  • Почему не грузится библиотека медиафайлов, не загружается фото в пост?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Копируем суть ошибки, вставляем в поисковую строку браузера и получаем ответ: https://www.google.com.ua/search?q=the+called+cons...

    По сути - у вас PHP 7, который больше не поддерживает старые конструкторы классов. И вместе с этим, у вас виджеты в теме используют старые конструкторы. Переименуйте все древние конструкторы (а они прям очень древние) и ошибка уйдет. Где переименовывать надеюсь поймете - в каждой ошибке указан путь к нужному файлу и даже номер строки.

    Это не проблема WordPress вообще, кстати. У вас древний PHP-код, а сам PHP - свежий.
    Ответ написан
    Комментировать