• Как обработать большой json на wordpress?

    YBB
    @YBB
    Лимит 300 секунд на выполнение

    Информация к размышлению: как правило у php-cli нет лимита на время выполнения, а у curl нет лимита на размер файла (у ОС - есть). Я так импортировал 2GB xml в базу mysql (правда от php в конце концов пришлось отказаться - тормоз жуткий). К сожалению, не всякий шаред-хостинг подпустит к шеллу.
    Ответ написан
  • Как вывести acf поля из родительской рубрики в дочернюю запись?

    YBB
    @YBB
    Как-то так (код не проверялся, само собой разумеется)
    <?php 
    $categories = get_the_category();
    foreach($categories as $term) {
    # ваш скрипт
        $opytnye_vrachi = get_field( 'opytnye_vrachi', "category_$term->term_id"); 
        if ( $opytnye_vrachi ) {
            foreach ( $opytnye_vrachi as $post ) {
               setup_postdata ( $post );
               require get_template_directory() . '/inc/doctors-item.php';
            }
            wp_reset_postdata();
        }
    # / ваш скрипт
    } 
    ?>


    И я бы не называл это наследованием, ибо WP_Post и WP_Term слишком дальние родственники.

    UPD Код слегка изменен по результатам обсуждения (см. комментарии)
    Ответ написан
  • Как настроить SMTP для Wordpress для отправки данных из формы?

    YBB
    @YBB
    1. <form action="subscribe/email.php" method="POST">
    Если включено ЧПУ, то так делать нельзя. Путь должен быть абсолютным, от корня сайта.

    2. mail($to, $subject, $message, $headers);
    Если хотите чтобы использовался плагин и соответственно вордпресс, то к скрипту надо подключать вордпресс и вызывать не mail(), а wp_mail(). Однако это хоть рабочий, но не совсем правильный подход. Правильнее сделать свой плагин и подключать скрипт к вордпрессу, а не наоборот.

    А еще правильнее не изобретать велосипед, а использовать готовый плагин обратной связи, например, CF7.
    Ответ написан
    1 комментарий
  • Как изменить формат отправляемого сообщения в плагине WP Telegram?

    YBB
    @YBB
    Нужно найти в кодах плагина релевантные хуки-фильтры (функция apply_filters()) и написать свои обработчики этих хуков (я бы сделал отдельным плагином-аддоном), модифицирующие данные, прогоняемые через эти фильтры.

    Вносить изменения непосредственно в код плагина я бы категорически не рекомендовал.
    Ответ написан
    Комментировать
  • Как технические работает зеркало сайта?

    YBB
    @YBB
    Зеркалом называют совершенно разные вещи: и алиас домена на том же http-сервере, и полную автоматическую копию сайта на совершенно другом сервере, а порой и вообще черт знает что. Не зная, как сделано конкретное зеркало, невозможно ответить на вопрос "как оно работает". Я бы посоветовал спросить у того, кто это зеркало сделал.
    Ответ написан
    Комментировать
  • Failed to load resource: the server responded with a status of 500 () - что оно пытается загрузить?

    YBB
    @YBB
    куда копать?

    Смотреть логи ошибок php.
    Также стоит ознакомиться со статьей Отладка в WordPress
    Ответ написан
  • Как вывести номер телефона на сайте?

    YBB
    @YBB
    Результат получается +7+888+88+88+88

    Если в url(href) ссылки, то помнится мне, там допустимы только плюсик и цифры.
    Я чистил так:
    <a href="tel:<?php echo preg_replace("/[^+\d]/", "", get_option('phone'));?>"><?php echo get_option('phone'); ?></a>


    Если в тексте ссылки, то у меня версий нет.

    Update. Похоже, современные браузеры/звонилки, невзирая на RFC, сами преобразовуют номер телефона в понятный им формат.
    Ответ написан
  • Плагин статусов доставки woocommerce?

    YBB
    @YBB
    Я в свое время для кастомных статусов "сборка" и "доставка" использовал https://ru.wordpress.org/plugins/custom-order-stat.... Он не единственный в своем роде.
    Только имейте в виду, что платежный шлюз может перебить кастомный статус на стандартный. (У меня вообще сложилось впечатление, что некоторые шлюзы писали люди, в глаза не видевшие WC живьем.)

    Насчет карты, боюсь, не так все просто. Не будет же курьер каждые 100 метров лезть в админку и менять там свои координаты. Нужен какой-то GPS треккер у курьера в кармане, сливающий координаты на серврер, который по API будет их отдавать сайту.
    Ответ написан
    Комментировать
  • Как изменить привязку id рубрики?

    YBB
    @YBB
    как заменить этот привязанный id на значение указанное в поле acf

    Наверно, поменять 88 на get_field('promo_taxonomy_id').
    Ответ написан
    Комментировать
  • Как автоматически добавлять карточку риелтора на объявление, которое он выставил?

    YBB
    @YBB
    Вариантов более одного, как создания самой карточки, так и ее вывода.

    Ввод:
    - Можно сделать кастомный тип записи "агент", идентификатор агента хранить в произвольном поле
    - Можно сделать текстовые блоки под вывод через шорткод, закодировав ид агента в имени шорткода
    и т.д.

    Вывод:
    - Можно добавить в шаблон код вывода "карточки".
    - Можно добавить html карточки через хук the_content.
    - Можно шорткод вставлять прямо в текст объявления, в т.ч. автоматически при создании объявления.
    и т.д.
    Ответ написан
    Комментировать
  • Вордпресс как редактировать?

    YBB
    @YBB
    В общем случае:
    1. При помощи инструменов разработчика браузера найти стили, которые определяют расстояние между шапкой сайта и первой таблицей.
    2. При помощи того же инструмента подобрать селекторы css и правила (стили), уменьшающие расстояние до приемлемого уровня.
    3. В админке сайта найденные селектор и правила вписать в дополнительные стили настройки внешнего вида сайта.

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

    YBB
    @YBB
    а мне надо добавить код из своего плагина разработанного мной

    Если плагин свой, то это сильно упрощает. Вы легко можете добавить в Ваш плагин разработанный Вами
    add_shortcode('my_shortcode', function() {
    // обработчик шорткода
    });

    и вставить [my_shortcode] через Элементор.
    Ответ написан
    4 комментария
  • Как настроить поведение кнопки "Назад"?

    YBB
    @YBB
    И так до бесконечности.

    Это потому что используете ссылку на реферрер, т.е. предыдущую страницу. Навигацию "по цепочке назад" дает ссылка <a href="javascript:history.back()">
    Ответ написан
    2 комментария
  • Как задать кнопку назад на предыдущую страницу?

    YBB
    @YBB
    Убрать, то есть не выводить на главной - не проблема.
    <?php if ( ! is_front_page() ) : ?>
      <button onclick="history.back()">на предыдущую страницу</button>
    <?php endif; ?>

    в нужный шаблон. Или через подходящий хук.

    Проблема в другом: какая страница будет предыдущей, если посетитель пришел по прямой ссылке на внутреннюю страницу из поисковика, по ссылке в соцсетях или из закладки?
    Ответ написан
    2 комментария
  • Как натянуть карточку тарифа на WordPress?

    YBB
    @YBB
    the_content выводит всё, что не the_title. Или нет?

    Или нет. the_content выводит поле post_content с учетом всех модификаций и дополнений, выполненных "на лету" через API WP.

    Есть какой то другой способ, более приятный, или плагин.

    Есть более одного плагина управления произвольными полями (custom fields), работающие как с нативными post_meta, так и с нестандартными. Самый популярный - ACF.

    обойти каждый пост из рубрики

    Обойти каждый - это что-то из прошлого века ))) Вордпресс, работая с SQL базой данных, позволяет делать разнообразные выборки без обхода всех записей. В Основном цикле (the Loop) шаболна Темы выполняется последовательный обход выбранных записей, и глобальной переменной $post (объект) присваивается значение текущей записи. А то, что не входит в свойства объекта, например, метаданные (произвольные поля, custom fields), можно получить при помощи функций. Это базовый функионал движка.

    Так что самый простой и самый канонический путь реализации "карточки":
    1. пользовательский тип записи "тариф";
    2. произвольные поля "для кого", "цена" и т.д. для записей типа "тариф"
    3. шаблон вывода записей типа "тариф" в Цикле которого реализовано красивое форматирование структуры карточки.
    Ответ написан
  • Вывод отзывов ВК на сайт Wordpress?

    YBB
    @YBB
    1. Страница и запись (пост) - разные сущности. И шаблоны разные: у записей это single.php, у страниц - page.php. Хотя ход мыслей в общем правильный. Но есть и другие варианты, например использовать хуки, если они есть в Теме, или сделать шаблон для одной отдельной страницы (см. Template Hierarchy). Кроме того, вносить изменения в шаблоны правильнее в дочерней Теме, если Тема не своя самодельная или сделанная на заказ. Иначе при обновлении Темы изменения потеряются.

    2. Каждый раз при показе страницы дергать API стороннего сайта - плохая идея. Потому что операция не быстрая, страница будет тормозить, а может и вообще не загрузиться, если по каким-то причинам та сторона не ответит. Поэтому правильнее использовать кэширование либо страницы целиком, либо только внешних данных в зависимости от требуемой частоты обновления.
    Ответ написан
    7 комментариев
  • Single Product круглый товар?

    YBB
    @YBB
    В общем случае
    body.single-product еще-какие-то-селекторы img { 
      border-radius: 50%;
      border: solid 3px #C4D6D3;
      padding: 10px;
    }


    А конкретизирующие селекторы зависят от конкретной реализации темы.
    Ответ написан
    Комментировать
  • Существует ли действительно рабочий плагин кеширования на Wordpress?

    YBB
    @YBB
    Гуглев Pagespeed любит, когда скрипты и стили объединены, а не разбросаны по разным файлам. И не любит сторонние включения, в том числе и свои же гуглевские скрипты.
    Попробуйте подключить Autoptimize (многие его сильно не любят))), Fast Velocity Minify или что-то аналогичное (увы, не знаю, что сейчас в тренде). В любом случае придется поковыряться в настройках, потому что плагины такого рода могут переломать и работу скриптов, и внешний вид.
    Это в дополнение к кэшированию страничного уровня.
    Ответ написан
    Комментировать
  • Какой вариант мультисайтинга выбрать для Wordpress?

    YBB
    @YBB
    Я бы, скорее всего, использовал плагин типа "страница=субдомен".
    Например
    https://ru.wordpress.org/plugins/each-domain-a-page/
    https://wordpress.org/plugins/page-as-subdomain-lite/
    Ответ написан
    1 комментарий