Ответы пользователя по тегу WordPress
  • Ошибка установка плагинов WP. как исправить?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вероятно, проблема с tmp директорией. Можно проверить методом тыка, объявите другую временную директорию, затем заново попробуйте установить плагины.

    wp-config.php:
    define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/test/');

    Важно! Директория /wp-content/test/ уже должна существовать.
    Ответ написан
    1 комментарий
  • Какой плагин подойдет для создания закрытого раздела в WP?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Как перенести сайт (wordpress) на beget?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    2 варианта:
    - https://developer.wordpress.org/advanced-administr...
    - Поставить плагин Akeeba Backup на работающем wp > создать бэкап сайта > закинуть .tar в директорию домена нового хостинга > запустить инсталлятор newdomen.ru/installation.
    Ответ написан
    Комментировать
  • Не подключается jquery и файлы js в Word Press. В чем причина ошибки?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Элементы массива должны быть в виде строк:
    // wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/js/slick.min.js', array(jquery), 'null', true );
    wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/js/slick.min.js', array('jquery'), null, true );

    Зачем Вам 2 одинаковых slick.js?
    // wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/js/slick.js', array(jquery), 'null', true );
    wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/js/slick.min.js', array(jquery), 'null', true );

    Стили хорошо бы подключать в шапке, а скрипты в подвале, вот финальный код:
    <?php
    add_action('wp_enqueue_scripts', function () {
        // styles
        wp_enqueue_style('style', get_template_directory_uri() . '/assets/css/style.css');
        wp_enqueue_style('media', get_template_directory_uri() . '/assets/css/media.css');
        wp_enqueue_style('slick-style', get_template_directory_uri() . '/assets/css/slick.css');
    
        // jquery
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js', [], null, true);
        wp_enqueue_script('jquery');
    
        // scripts
        wp_enqueue_script('slick', get_template_directory_uri() . '/assets/js/slick.min.js', ['jquery'], null, true);
        wp_enqueue_script('main', get_template_directory_uri() . '/assets/js/main.js', ['jquery'], null, true);
    });
    
    add_theme_support('post-thumbnails');
    add_theme_support('title-tag');
    add_theme_support('custom-logo');
    ?>
    Ответ написан
    5 комментариев
  • На чем быстрее запрограммировать сайт каталог?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Подскажите на чем быстрее запрограммируется сайт каталог? На вордпресс или на чистом коде?

    Зависит от ТЗ и разработчика. Если это простой сайт состоящий из простых статей - WP будет быстрее.
    И почему?

    Зачем разрабатывать то, что уже реализовано?
    При условии что верстка программисту будет предоставлена.

    Кстати, не факт, что этот фактор поспособствует ускорению ;)
    Сайт стандартный, без лишних дополнительных плюшек.

    А Вы откуда знаете, у Вас имеется необходимая компетенция так судить? Яндекс тоже простой, всего 1 желтая поисковая строка, работы на 10 минут...
    Ответ написан
  • Является ли замена iframe ютуб ролика на lite-youtube таким кодом оптимальной?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Цикл можно оптимизировать:
    foreach($matches[1] as $index => $video_id) {
        $replacement = '<lite-youtube videoid="' . $video_id . '" params="controls=1"></lite-youtube>';
        $content = str_replace($matches[0][$index], $replacement, $content);
    }

    А существует ли вообще matches?
    if(!empty($matches[0]))
    Если src не идет первым во фрейме, то Ваша регулярка не сработает, можно сделать так:
    '/<iframe[^>]*src=\"https:\/\/www\.youtube\.com\/embed\/([^\?"]+)(\?[^\"]*)?\"[^>]*><\/iframe>/';
    Ответ написан
    Комментировать
  • Как настроить локальную работу с уже созданным проектом Wordpress?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    можно ли как-то этот проект переключить на локальную работу?

    Макеты страниц (Page Layout) в WordPress представляют собой шаблоны отдельных страниц, которые можно настроить, добавив или изменив содержимое блоков из административной панели.

    Соответственно, если это (некая конвертация) не предусмотрено макетом страницы, то ответ - нельзя. С другой стороны, Вы можете подключать свои стили, которые будут перебивать стили макета, но html и js отдельных блоков из макета перебить не удастся.
    Ответ написан
  • Как на сайте wordpress сделать вход по смс через otp?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    но плагины которые я пробовал не работают.

    Какие пробовали?
    Как на сайте wordpress сделать вход по смс через otp?

    Один из вариантов:
    1. Поставить необходимый плагин.
    2. Написать плагин самому.
    у них сделан вход по смс через OTP , как я понял это бесплатные СМС

    OTP - это лишь метод аутификации (в рамках одной сессии или менее), через одноразовые пароли:
    - Если речь именно про СМС, то не бесплатные. За СМС в любом случае кто то платит, обычно - это тот, кто предоставляет аунтификацию.
    - Если речь про приложение для аунтификации, то наиболее популярные в РФ - это Google Authenticator и Яндекс Ключ. В таком случае - да, код с аунтификацией будет бесплатный.
    - Если речь про Email аунтифиацию - то все тоже самое, что и выше, но отправка пароля идет на Email. Относительно бесплатно.
    Подскажите как можно подключить такое для своего сайта

    Гуглить конкретный вариант аунтификации и искать под него плагин, либо написать самому.
    нормально ли эта технология работает

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

    Это тоже по сути OTP (зависит от того, как настроена).
    Ответ написан
    Комментировать
  • Как сделать скролл при нажатие на катогорию товаров в мобильной версии сайта на Wordpress Woocommerce?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    как сделать так, чтобы при нажатие на категорию сайт прокручивался вниз к товарам?

    1. Прикрутить id к элементу, до которого необходима прокрутка, например <div id="test">products...</div>.
    2. Ссылке указать якорь с id этого элемента, например <a href="#test">Ссылко</a>.
    3. Жмякнуть по ссылке.
    Ответ написан
  • Как вывести свой блок со ссылкой в цикле Wordpress?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть цикл который выводит блоки со ссылками внутри

    code

    <?php 
      $layout         = $settings['layout'];
      $prod_categories = get_terms( 'product_cat', $catargs );
      foreach ( $prod_categories as $key => $prod_cat ):
      $counter++;
      $bgc++;
      $cat_thumb_id = get_term_meta( $prod_cat->term_id, 'thumbnail_id', true );
      $cat_thumb = wp_get_attachment_image( $cat_thumb_id, $image_size );
      $term_link = get_term_link( $prod_cat, 'product_cat' );
      $thumbnails = $cat_thumb;
      ?>
      <div class="<?php echo esc_attr( $collumval ); ?>">
    
        <?php if( '1' === $layout ): ?>
        <div class="1"></div>
        <?php elseif( '3' === $layout ):?>
            <a>ссылка</a>
          
        <?php endif; ?>
    
      </div>
      <?php
      if( $bgc == 4 ){ $bgc = 0; }
      if( $counter == $limitcount ) { break; }
    endforeach;


    А кто писал этот код? Мне просто интересно...

    Слегка переделал:
    $layout = $settings['layout'];
    $prod_categories = get_terms('product_cat', $catargs);
    
    foreach ($prod_categories as $key => $prod_cat) {
        $counter++;
        $bgc++;
        $cat_thumb_id = get_term_meta($prod_cat->term_id, 'thumbnail_id', true);
        $cat_thumb = wp_get_attachment_image($cat_thumb_id, $image_size);
        $term_link = get_term_link($prod_cat, 'product_cat');
    
        echo '<div class="' . esc_attr($collumval) . '">';
    
        switch ($layout) {
            case '1':
                echo '<div class="1"></div>';
                break;
            case '3':
                echo '<a href="' . esc_url($term_link) . '">ссылка</a>';
                break;
        }
    
        echo '</div>';
    
        if ($bgc == 4) {
            $bgc = 0;
        }
    
        if ($counter == $limitcount) {
            break;
        }
    }
    
    if ('3' === $layout) {
        echo '<div class="3"><a href="#">test</a></div>';
    }
    Ответ написан
    Комментировать
  • Как сделать чтобы меню на сайте wordpress, в мобильной версии не уходило в бургер?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    На сайте https://opendag.ru при открытии мобильной версии главное меню сайта уходит в бургер.

    Не уходит (это 2 разных меню). В мобильной версии элемент .primary-navigation-wrap имеет стандартную видимость, а вот элемент горизонтального меню nav.site-navigation - скрыт, и наоборот в десктопной версии.

    https://opendag.ru/wp-content/themes/gucherry-blog...:

    Вернуть меню в мобильной версии, строка 15141, заменить:
    .site-navigation {
        display:none;
        margin-top: 10px;
        padding: 0
    }

    На:
    .site-navigation {
        /* display:none; */
        margin-top: 10px;
        padding: 0
    }


    Убрать бургер-меню в мобильной версии, строка 15137, заменить:
    .menu-toggle {
        display: block
    }

    На:
    .menu-toggle {
        /* display: block; */
    }

    Предположу, что css подключается в https://opendag.ru/wp-content/themes/gucherry-blog..., соответственно, для принудительного сброса кэша - необходимо изменить версию файла с main-style.css?ver=6.1.1 на main-style.css?ver=6.1.2:
    function theme_enqueue_styles() {
        wp_enqueue_style('custom-style', get_template_directory_uri() . '/assets/dist/css/main-style.css', array(), '6.1.2');
    }
    
    add_action('wp_enqueue_scripts', 'theme_enqueue_styles');

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    но у банка нету специального плагина для WooCommerce

    Какие есть варианты, кроме написания своего плагина? Может есть что то готовое?

    Чтобы прям напрямую в нужный Вам банк залетали платежи - такого нет, понадобится какой то сторонний интернет-эквайринг (агрегатор), который: предоставит необходимую интеграцию с WС > примет платеж > переведет деньги в Ваш банк.
    Ответ написан
    1 комментарий
  • Как создать пункт меню и страницу в админке Wordpres через плагин?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Создаем плагин, wp-content/plugins/best-plugin/best-plugin.php:
    <?php
    /**
     * Plugin Name: Чумовой плагин
     * Description: Это плагин, твердо и четко!
     */
    
    if(!defined('ABSPATH')) {
      exit;
    }
    
    class Best_Plugin {
      protected $menu_slug = 'best-plugin';
    
      public function __construct() {
        // добавление страницы с пунктом меню
        add_action('admin_menu', [$this, 'add_admin_page']);
    
        // добавление ссылки на настройки плагина в списке плагинов
        add_filter(
          'plugin_action_links_' . plugin_basename(__FILE__),
          [$this, 'add_settings_link']
        );
      }
    
      // страница, любое содержимое страницы, обычно это винегрет из html/js/php
      public function add_page() {}
    
      // добавление страницы с пунктом меню
      public function add_admin_page() {
        add_options_page(
          'Страница чумового плагина',
          'Чумовой плагин',
          'manage_options',
          $this->menu_slug,
          [$this, 'add_page'],
          1
        );
      }
    
      // добавление ссылки на настройки в списке плагинов
      public function add_settings_link($links) {
        $settings_link = "<a href=\"options-general.php?page={$this->menu_slug}\">Настройки чумового плагина</a>";
        array_unshift($links, $settings_link);
        return $links;
      }
    }
    
    new Best_Plugin();
    Ответ написан
    Комментировать
  • Какой запрос SQL очистит базу сайта на Wordpress?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Очистка title у изображений из колонки post_title:
    UPDATE wpaq8a_posts SET post_title = '' WHERE post_mime_type = 'image/jpeg';
    Ответ написан
    Комментировать
  • Как поменять лого в подвале и как изменить title?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Кроме того, при поиске нашего сайта он выдает другое название в заголовке (title) и описание (description), хотя все настройки Yoast SEO выполнены правильно

    Причём здесь настройки в плагине? Поисковик будет отображать тот заголовок и сниппет, которые наиболее релевантны поисковому запросу.
    Сайт был перенесен на новый домен на хостинге Beget, и после этого у нас название компании отображается неправильно в оформлении.

    Хостинг тут не причём.
    Ответ написан
  • Почему сайт медленно грузится?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Сервер не молниеносно отвечает (сейчас ~500мс).
    - Вынести js скрипты из шапки в подвал.
    - Сократить количество запросов на сервер (сейчас их 53).
    - Оптимизировать и перегнать изображения в webp.

    Больше инфы: https://pagespeed.web.dev/analysis/https-icunnt-co...

    В целом, не могу сказать, что сайт долго грузиться, что на компе, что на мобиле.
    Ответ написан
    5 комментариев
  • Как передвинуть цену товара под краткое описание товара (WooCommerce), тема My Theme Child?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Изменил лишь порядок, и выравнивание цены. Отступы не убирал, т.к. не известно, может так задумано...
    Вложенность селекторов умышленно длинная, чтобы перебить специфичностью остальных селекторов, не используя important.

    .woocommerce.single-product .product .summary.entry-summary {
        display: grid;
    }
    
    .woocommerce.single-product .product .woocommerce-product-details__short-description {
        order: 1;
    }
    
    .woocommerce.single-product .product .summary.entry-summary .price {
        order: 2;
        float: none;
    }
    
    .woocommerce.single-product .product form.cart {
        order: 3;
    }
    
    .woocommerce.single-product .product .product_meta {
        order: 4;
    }

    Изменение css wp, через дочернюю тему:
    1. Войдите в админ-панель WordPress и перейдите в раздел "Внешний вид" -> "Редактор тем".
    2. Выберите дочернюю тему My Theme Child и откройте файл style.css.
    3. Внесите нужные изменения в файле style.css и сохраните изменения.
    Ответ написан
    3 комментария
  • Как в цикле вывести the_content два раза?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вначале Вы пишите
    the_content использовать два раза
    , потом пишите
    Продолжение содержимое страницы
    , так нужно выводить содержимое поста 2 раза на странице (так продублируй 2 раза функцию)? Или нужно разбить текст поста на 2 части и один кусок выводить в пункте А, а второй в пункте Б?

    Возможно я до конца не понял вопрос, точнее итога, которого нужно добиться, но я поступил-бы следующим образом:
    - Через плагин Advanced Custom Fields создал дополнительные поля под заголовок + текст.
    - В любом месте на странице выводил-бы дополнительные поля поста (созданные ранее) в любых извращенных фантазиях.
    Ответ написан
    7 комментариев
  • Как найти скрипт, который запрашивает геоположение?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    При загрузке страницы вызываются getCurrentPosition() and watchPosition(), с ссылкой на скрипт https://api-maps.yandex.ru/2.1.45/combine.js.... .
    Скорее всего, нужно копать именно в направление расширенй от яндекса, возможно что-то связано со счетчиками/метрикой...
    Ответ написан
    2 комментария