Задать вопрос
  • Как убрать кавычки после php кода?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как убрать кавычки после php кода?

    Проблема не здесь. WP функция the_post_thumbnail() уже возвращает полный img тег (включая атрибуты src и alt) и получается, что у Вас внутри атрибута src вставляется еще один полноценный img тег.

    Попробуйте так ("full" аргумент указывает на размер изображения):
    <a href="<?php the_permalink(); ?>">
        <?php the_post_thumbnail('full', ['class' => 'lazy']); ?>
    </a>

    Но, если необходимо собрать свой собственный тег с указанием адреса до изображения, то можно использовать функцию get_the_post_thumbnail_url():
    <a href="<?php the_permalink(); ?>">
        <img class="lazy" src="<?php echo get_the_post_thumbnail_url(null, 'full'); ?>" >
    </a>
    Ответ написан
    3 комментария
  • Как автоматически проверять наличие способов оплат для неавторизованных пользователей на странице checkout (Woocommerce)?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Если оплата не появилась, значит возникла проблема, эту проблему необходимо обработать, для этого можно использовать что то вроде Sentry. В админке будет полный traceback с подробностями (кто, куда и при каких обстоятельствах зашел, какой софт использовал итп).
    Ответ написан
    8 комментариев
  • Как выводить на консоль ключевые слова особым цветом, отличным от всего остального текста?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вы изменяете цвет консоли внутри делегата с уже сформированной строкой. Как вариант, можно разделить текст на слова и выводить нужные слова с нужным цветом:
    using System;
    using System.Text.RegularExpressions;
    
    public class Example
    {
        public static void Main(string[] args)
        {
            string text = "This is the great city of Sevsar, the harbor of humanity";
            string[] keywords = { "great", "harbor" };
    
            HighlightKeywords(text, keywords, ConsoleColor.Red);
            Console.WriteLine();
        }
    
        public static void HighlightKeywords(string text, string[] keywords, ConsoleColor highlightColor)
        {
            string pattern = $@"\b({string.Join("|", keywords)})\b";
            MatchCollection matches = Regex.Matches(text, pattern, RegexOptions.IgnoreCase);
    
            int lastIndex = 0;
            foreach (Match match in matches)
            {
                Console.Write(text.Substring(lastIndex, match.Index - lastIndex));
    
                Console.ForegroundColor = highlightColor;
                Console.Write(match.Value);
                Console.ResetColor();
    
                lastIndex = match.Index + match.Length;
            }
    
            Console.Write(text.Substring(lastIndex));
        }
    }

    КартинкО

    6641ffe274e9d095852691.png
    Ответ написан
    1 комментарий
  • Next JS что за ошибка?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Build error occurred
    Error: Page "/client/[clientId]" is missing "generateStaticParams()" so it cannot be used with "output: export" config.

    Предположительно, Вы пытаетесь выполнить статическую генерацию на нексте, при этом у Вас имеется страница с динамическим маршрутом (/client/[clientId]). Для динамических маршрутов необходимо использовать функцию getStaticPaths().

    Базовый пример:
    // /pages/client/[clientId].js
    
    export async function getStaticPaths() {
      const clientIds = await fetchClientIdsFromDatabase(); 
    
      return {
        paths: clientIds.map(clientId => ({params: {clientId: clientId}})),
        fallback: false,
      };
    }

    // next.config.js
    
    export default {
        output: 'export',
    }
    
    // или
    
    module.exports = {
      output: 'export',
    }
    Ответ написан
    Комментировать
  • Выдает предупреждение о размере куи памяти в IDE PyCharm, хочу понять на что это влияет и как увеличить память?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    The IDE is running low on memory and this might affect performance. Please consider increasing the heap size.

    https://www.jetbrains.com/help/pycharm/increasing-...
    Рекомендуется увеличить для ide объем выделяемой памяти: Settings > Help > Change memory settings.
    я в будущем собираюсь размещать бота на сервере и хочу уточнить будет ли он работать быстро, или необходимо подшаманить над размером памяти?

    IDE в этот момент не имеет отношения к Вашему скрипту.
    Ответ написан
  • Как заполнять атрибуты Alt и прочее к фото, если сайт на WordPress?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    что именно нужно вписывать при загрузке фотографий через админку, в пустые “Окна”, те, что находятся под уже загруженным фото, а именно - Атрибут alt, Заголовок, Подпись, Описание, и на каком именно языке?

    Yoast SEO

    В контексте SEO оптимизации:
    - alt - короткий текст описывающий изображение, по примеру title страницы.
    - "заголовок" - если это атрибут title тега img, то обычно указывается аналогично alt (при наведение мышкой на изображение - будет выводить этот текст).
    - "описание" как и "подпись" - обычно указывается, для расширения seo контекста, в Вашем случае не обязательно.
    - Язык аналогичен основному языку страницы.
    Ответ написан
  • Как правильно собрать wpf проект?

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

    dotnet publish - компиляция проекта в промежуточный язык (IL) с расширением DLL. Относительно простой реверс.

    dotnet publish -r win-x64 -c Release - компиляция проекта в единый экзешник (машинный код) под win64. Относительно, не простой реверс.
    не говорю чтобы проект должен состоит из одного exe файла так как думаю это повлияет на оптимизацию самой приложении.

    Повлияет, в большинстве случаев - приложение становится более производительным.
    Ответ написан
    Комментировать
  • Можно ли сверстать такую структуру на grid?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно ли сверстать блоки такого вида на grid? чтоб html верстка была без доп оберток а просто

    Можно, в 3 колонки и 4 строки.
    Ответ написан
    Комментировать
  • Можно ли в названии моей системы использовать словосочетание "Система мониторинга температуры"?

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

    Имеете.
    Ответ написан
    Комментировать
  • Как на сегодняшний день интернет-магазины парсят товары?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Заказывают разработку индивидуальных парсеров? Заливают по API? Или какими-то другими еще способами загружают?

    Если можно готовым решением - используют его, если нет, то самопис. Это работает как для "поставщика", так и для конкурентов.
    Ответ написан
  • Царапины на процессоре. Критично?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Насколько это критично?

    Могут не принять на возврат, если он потребуется.
    Ответ написан
  • Как минифицировать HTML в WordPress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Поделитесь, какие способы используете вы.

    WebPack + html-minifier-terser.
    Ответ написан
    Комментировать
  • Как разэкранировать строку js?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    const encodedString = "\\x41";
    const decodedString = eval(`"${encodedString}"`);
    console.log(decodedString); // A
    
    // Или
    
    const encodedString = '"\\u0041"';
    const decodedString = JSON.parse(encodedString);
    console.log(decodedString); // A
    Ответ написан
    Комментировать
  • Wordpress sass - Почему проблема с обновлением файла scss?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Столкнулся с проектом в дизайне находиться gulpfile.js

    Консоль:
    1. Поставить ноду (рекомендую использовать nvm).
    2. Поставить галп глобально.
    3. Перейти в корень с проектом.
    4. Выполнить установку зависимостей (npm install), для этого в корне проекта должен лежать package.json с нужными зависимостями.
    5. Запустить галп (gulp), остальные команды можно посмотреть в package.json.
    Ответ написан
  • Кому лучше поручить адаптивную верстку - верстальщику или frontend разработчику?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Кому лучше поручить адаптивную верстку — верстальщику или frontend разработчику?

    Тому, кто по Вашему мнение лучше верстает.
    Насколько такое решение кажется логичным?

    У каждого своя логика.
    Не будет ли еще больших сложностей у разраба?

    Может стоит спросить у него?
    Ответ написан
    Комментировать
  • C# Как распаковать все содержимое конкретной папки в .zip архиве в папку на диске?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Часть кода из одного моего проекта, где решается похожа задача (поправить пути и логику при необходимости):
    using System.IO.Compression;
    
    string zipPath = @"path/zip.zip";
    string unZipPath = @"path/unzip-dir";
    string dirNameInZip = "dir-name";
    
    // Проверяем наличие архива
    if (!File.Exists(zipPath))
    {
        throw new FileNotFoundException("Ошибка, архив не найден.", zipPath);
    }
    
    // Создаем выходную директорию, если она не существует
    Directory.CreateDirectory(unZipPath);
    
    // Получаем архив
    using var archive = ZipFile.OpenRead(zipPath);
    
    // Ищем нужную директорию в архиве
    var folder = archive.Entries.FirstOrDefault((e) =>
        e.FullName.StartsWith(dirNameInZip + "/") && e.FullName.Length > dirNameInZip.Length + 1);
    
    if (folder == null)
    {
        throw new DirectoryNotFoundException($"Ошибка, директория '{dirNameInZip}' в архиве не найдена.");
    }
    
    // Извлекаем директорию со всеми данными
    foreach (var entry in archive.Entries.Where((e) => e.FullName.StartsWith(folder.FullName)))
    {
        string relativePath = entry.FullName[(folder.FullName.Length + 1)..];
        string filePath = Path.Combine(unZipPath, relativePath);
    
        // Создание вложенных директорий, если требуется
        string? directoryPath = Path.GetDirectoryName(filePath);
        if (!string.IsNullOrEmpty(directoryPath))
        {
            Directory.CreateDirectory(directoryPath);
        }
    
        // Извлечение файлов с перезаписью
        entry.ExtractToFile(filePath, overwrite: true);
    }
    Ответ написан
    5 комментариев
  • Как можно установить чат с поддержкой на сайт?

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

    - Установив плагин (множество бесплатных), онлайн-чаты для WP.
    - Руками, вставив соответствующий код в тему или плагин WP:
    -- Бесплатные: Quickley, Chatra, Бесплатный онлайн-чат для сайта на JS?
    -- Условно бесплатные: Bitrix24 chat, AmoCRM chat, Umnico Live Chat итп.
    -- Платные: JivoChat, Carrot quest, LiveChat итп.
    Ответ написан
    Комментировать
  • Отмена дефолтного поведения?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    tabs

    tabs? Неужели в нем лежит коллекция элементов? Если да, то необходим предварительный перебор коллекции (для выполнения метода preventDefault() для каждого из элементов коллекции), примерно так:
    tabs.forEach((el) => {
        el.addEventListener('click', (e) => {
            e.preventDefault();
        });
    });
    Ответ написан
    Комментировать
  • Как создать Сайт на 3-х языках?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Как создать сайт на 3-х языках?

    Создать подпапки с нужной лакализацией, например:
    - /news/1 (по умолчанию)
    - /en/news/1
    - /de/news/1
    или только создать поддомены en.site.com/ ru.site.com/site.com и создать отдельный сайт на каждом поддомене?

    Поддомены проигрывают в продвижение подпапкам.
    Ответ написан
    Комментировать
  • Как лучше реализовать SEO-описания для страниц в Nuxt 3?

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

    1 уникальный url - 1 уникальный контент (текст и желательно, изображения). Динамика индексируется хуже статики, но склейка и санкции со стороны ПС накладываются так же эффективно ;)

    Если под вкладками понимаются табы в рамках одной страницы, то если вкладки не откраваются по якорю, то достаточно иметь уникальный контент на первой вкладке, а вот если открываются по якорю, то здесь момент очень неприятный - по сути, Вы показываете разный контент разным посетителям, а значит пытаетесь манипулировать выдачей.
    Ответ написан
    1 комментарий