• "ПКМ > Сохранить картинку как", есть ли более быстрый способ сохранять изображения из Google Chrome?

    PolarOneBear
    @PolarOneBear
    Удобного для себя ничего не нашел, использую такой способ:
    1. открываю нужные изображения
    2. перехожу по вкладкам Ctrl+Tab
    3. сохраняю изображения Ctrl+S
    4. если нужно - сразу меняю названия заранее скопированным шаблоном.

    В некоторых случаях использую свой парсер на python - в программе указываю ссылку (название) или таблицу, оно само всё скачивает.

    В других случаях - парсер встроен в сайт и мне нужно только кнопку нажать - все скачивает и обрабатывает с донора (на одном wordpress+woo для товаров реализовал и описание тоже берет).
    Ответ написан
    Комментировать
  • Python. Pyautogui.hotkey ("Ctrl", "с") не работает с русской раскладкой клавиатуры?

    PolarOneBear
    @PolarOneBear
    Искал ответы и нашел, ответил на такой же вопрос в другом посте - ответ
    Ответ написан
    Комментировать
  • Python Tkinter Ctl+V Ctr+C Ctrl+X для поля Text?

    PolarOneBear
    @PolarOneBear
    Проблема в раскладке клавиатуры. Это всё работает (или должно) если раскладка английская. При русской раскладке - буквы другие.

    И вроде бы есть решение:
    root.event_add('<<Paste>>', '<Control-igrave>')
    root.event_add("<<Copy>>", "<Control-ntilde>")


    Но в текущем tkinter оно что-то не работает...

    Вот рабочий способ, проверено:

    def keypress(e):
        if e.keycode == 86 and e.keysym != 'v':
            cmd_paste()
        elif e.keycode == 67 and e.keysym != 'c':
            cmd_copy()
        elif e.keycode == 88 and e.keysym != 'x':
            cmd_cut()
    root.bind("<Control-KeyPress>", keypress)


    Ну или как я делал:
    class MyApp:
        def __init__(self, root):
    
            root.bind("<Control-KeyPress>", self.keypress)
            # всякое разное
    
        def keypress(self, e):
            # Обработчик комбинаций клавиш для вставки, копирования и вырезания
            if e.keycode == 86 and e.keysym != 'v':
                self.cmd_paste()
            elif e.keycode == 67 and e.keysym != 'c':
                self.cmd_copy()
            elif e.keycode == 88 and e.keysym != 'x':
                self.cmd_cut()
    
        def cmd_copy(self):
            # Обработчик команды копирования
            widget = self.root.focus_get()
            if isinstance(widget, ttk.Entry) or isinstance(widget, tk.Text):
                widget.event_generate("<<Copy>>")
    
        def cmd_cut(self):
            # Обработчик команды вырезания
            widget = self.root.focus_get()
            if isinstance(widget, ttk.Entry) or isinstance(widget, tk.Text):
                widget.event_generate("<<Cut>>")
    
        def cmd_paste(self):
            # Обработчик команды вставки
            widget = self.root.focus_get()
            if isinstance(widget, ttk.Entry) or isinstance(widget, tk.Text):
                widget.event_generate("<<Paste>>")


    Ссылка на первоисточник

    P.S.: Так же обратите внимание на следующий момент, работает в полях ttk.Entry
    Если же вы используете tk.Entry - работать не будет.
    Ответ написан
  • Как вернуть работоспособность сайта на Wordpress?

    PolarOneBear
    @PolarOneBear
    Вы можете поменять ссылки через phpMyAdmin введя запроc.
    Вот тема.
    Статья
    Сам запрос
    UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://VASH-DOMEN', 'https://VASH-DOMEN');
    UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://VASH-DOMEN', 'https://VASH-DOMEN');


    Обратите внимание на название таблиц (wp_posts , wp_postmeta), если они отличаются - назовите как у вас. Ну и конечно в таблице wp_options поменять если не меняли.
    UPDATE wp_options SET option_value = REPLACE(option_value, 'http://VASH-DOMEN', 'https://VASH-DOMEN') WHERE option_name = 'home' OR option_name = 'siteurl';


    Еще проверьте в wp-congig.php в корне сайта. иногда там прописывают домены.
    И тут писали уже, потом лучше используйте плагин better-search-replace.
    Ответ написан
    Комментировать
  • Как избавиться от автоматической подстановки тега в шорткод wordpress?

    PolarOneBear
    @PolarOneBear
    Это не типичное поведение. Woodmart использую на ряде сайтов - такого никогда не бывало.
    Не используете какие либо дополнительные скрипты?
    Ответ написан
  • Почему не удаётся найти путь?

    PolarOneBear
    @PolarOneBear
    Проблема может быть тут
    AudioSegment.converter = f"{os.getcwd()}\\ffmpeg.exe"
    AudioSegment.ffprobe = f"{os.getcwd()}\\ffprobe.exe"


    ffmpeg и ffprobe точно установлены? Попробуйте указать абсолютный путь.

    opus_file выглядит нормально
    И проверьте актуальность pydub, может обновить необходимо.

    pydub не может найти ffmpeg и ffprobe
    Ответ написан
    2 комментария
  • Как задать отображение цены товаров по формуле в woocommerce?

    PolarOneBear
    @PolarOneBear
    Вот один из вариантов
    // Функция для изменения отображения цен
    function custom_display_price( $price, $product ) {
        // Здесь установите ваш коэффициент
        $coefficient = 1.2; // Например, коэффициент 1.2
    
        $regular_price = $product->get_regular_price();
        $new_price = $regular_price * $coefficient;
        return wc_price( $new_price );
    }
    
    // Изменение отображения цен на страницах товаров
    add_filter( 'woocommerce_get_price_html', 'custom_display_price', 10, 2 );
    
    // Изменение отображения цен в корзине и на странице оформления заказа
    add_filter( 'woocommerce_cart_item_price', 'custom_display_price', 10, 3 );
    
    // Изменение отображения сумм в корзине и на странице оформления заказа
    add_filter( 'woocommerce_cart_item_subtotal', 'custom_display_price', 10, 3 );


    Обратите внимание, это для цены в поле regular_price.

    Забыл дописать - это вы должны поместить в файл functions.php своей темы или через плагин code snipets
    Ответ написан
    Комментировать
  • Как найти плагин фильтрации для woocommerce?

    PolarOneBear
    @PolarOneBear
    Функционально есть похожие фильтры:
    xforwoocommerce
    Он не плохо работает с плагином gtranslate, но не работает с wpml - это на всякий случай.

    WooCommerce AJAX Products Filter

    Визуально - это другой вопрос. Если боковая панель - похожа из дефолта, то под заголовком - нужно настраивать и\или дорабатывать. Так же зависит от темы.
    Ответ написан
    Комментировать
  • Как в WooCommerce при добавлении атрибута сделать показ всех вариантов в выпадающем списке?

    PolarOneBear
    @PolarOneBear
    Не знаю даже что сказать. В версии WooCommerce 7.7.0 оно уже работает, и, как мне кажется, довольно давно уже эта функция есть. Нажимаем, чуть ждём и подгружается список терминов. Скрин с моего сайта:
    64d4c95fa00b9739367684.jpeg
    Ответ написан
  • Каким плагином можно реализовать выбор даты в форме?

    PolarOneBear
    @PolarOneBear
    В этом плагине такая функция есть в платной версии.
    64cbd98360dc0759934839.jpeg

    Вот альтернатива. Добавьте сниппет (или в файл functions.php) следующий код

    // Подключение jQuery и jQuery UI Datepicker через ссылку
    function load_jquery_and_jquery_ui_datepicker() {
        wp_enqueue_script('jquery');
        wp_enqueue_script('jquery-ui-datepicker', 'https://code.jquery.com/ui/1.12.1/jquery-ui.min.js', array('jquery'), '1.12.1', true);
    }
    add_action('wp_enqueue_scripts', 'load_jquery_and_jquery_ui_datepicker');
    
    // Подключение стилей для jQuery UI Datepicker
    function load_jquery_ui_datepicker_styles() {
        wp_enqueue_style('jquery-ui-datepicker', 'https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css');
    }
    add_action('wp_enqueue_scripts', 'load_jquery_ui_datepicker_styles');


    В самой форме добавьте поле для даты
    [date* your-date class:your-date-field-class]

    И в хедере подключите скрипт. Вы можете его и другим способом подключить, у меня на тестовом сайте не работало через functions.php
    <script type="text/javascript">
    jQuery(document).ready(function($) {
    	$(".your-date-field-class").removeAttr("type");
        // Указываем исключаемые даты в формате "yy-mm-dd"
        var excludedDates = ["2023-08-15", "2023-08-22"];
        var isDatepickerInitialized = false;
    
        // Функция для проверки, является ли дата исключаемой
        function isExcludedDate(date) {
            var formattedDate = $.datepicker.formatDate("yy-mm-dd", date);
            return (excludedDates.indexOf(formattedDate) !== -1);
        }
    
        // Инициализация datepicker для поля с выбором даты
        function initializeDatepicker() {
            $(".your-date-field-class").datepicker({
                dateFormat: "yy-mm-dd",
                beforeShowDay: function(date) {
                    return [!isExcludedDate(date)];
                }
            });
    
            isDatepickerInitialized = true;
        }
    
        // Обработчик клика на строке с классом 'your-date-field-class'
        $(document).on('focus', '.your-date-field-class', function() {
            if (!isDatepickerInitialized) {
                initializeDatepicker();
            }
        });
    });
    
    </script>


    your-date-field-class - можете заменить на более удобный свой.
    Так же пришлось убрать из формы type="date" этой частью $(".your-date-field-class").removeAttr("type"); То календарь дважды всплывал, наш правильный и от браузера без исключенных дат.
    Ответ написан
    1 комментарий
  • Как удалить определенные HTML теги?

    PolarOneBear
    @PolarOneBear
    Вы не написали где именно удалить, ну в смысле через блокнот или на странице.
    Вот можно скриптом - при просмотре кода (не кода страницы, а кода элемента) не будет тегов.

    <!-- Добавьте следующий скрипт после вашего HTML кода -->
    <script>
        // Находим элементы с тегом <a> внутри тега <div> по классу или другому селектору и удаляем их
        const divElement = document.getElementById("id");
        const aElements = divElement.querySelectorAll("a");
        
        aElements.forEach(aElement => {
            aElement.remove();
        });
    </script>


    А можно в блокноте с помощью регулярных выражений
    <a.*?>.*?<\/a>
    Но это не совсем точный инструмент будет при большом количестве элементов. Может удалить ссылки и не в блоке DIV.

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

    PolarOneBear
    @PolarOneBear
    Можно, но не совсем так. Буквально в прошлом месяце об этом задумался, и нашел уже готовую реализацию
    Bulk menu creator
    В видео прям на этом кадре видно как это делается.
    А еще понравилось, что можно get в ссылки ставить и не надо шаманить
    Ответ написан
    2 комментария
  • Логика структуры мультиязычного сайта?

    PolarOneBear
    @PolarOneBear
    Вопрос определенно к SEO спецу.

    Как на мой взгляд, зависит от задач самого сайта.
    С алиасами больше мороки (ну мне во всяяком случае).
    В случае организации через подразделы:
    Лично я всегда делаю основной язык без подраздела, но это больше в силу привычки. С другой стороны, а в друг вы захотите поменять основной язык или они у вас равноценны... ну два гос языка мало ли. В таком случае лучше все языки делать в подразделах. Ну чисто логически.

    А поисковику (не сеошник, личное мнение маленького человека) - "лишь бы вкусно покормили". Ссылки разные, контент "разный", канонические юрлы проставлены, редиректы есть, условия ясны, теги и прочая лабуда имеется. Входящие ссылки на лице! "Чего ж тебе еще надо, собака?" Скажет любой поисковик))
    Ответ написан
    Комментировать
  • Где натянуть верстку на страницу категорий woocomerce?

    PolarOneBear
    @PolarOneBear
    644fe805d85d7028495715.jpeg
    Вообще ответ не прост.

    Сам шаблон архива тут
    plugins -> woocommerce -> templates -> archive-product.php

    НО если вы его измените - то при следующем обновлении плагина все изменения пропадут.

    Идём дальше. Может быть соответствующая папка внутри вашей темы.
    themes -> ТЕМА -> woocommerce -> archive-product.php (в моей теме оно так)
    Тогда вы можете внести правки там.
    Но если шаблон коммерческий и\или вы его будете обновлять - изменения сотрутся!

    Тогда остаётся вариант с дочерней темой.
    themes -> ТЕМА-child -> woocommerce -> archive-product.php

    Создаете в ней папку с названием плагина, копируете туда нужный файл (archive-product.php) и играетесь с ним как хотите.
    Этот файл будет в приоритете и покуда он есть - будет выводиться он.

    Это если кратко.
    Ответ написан
    1 комментарий
  • Как правильно сделать дым на этом макете?

    PolarOneBear
    @PolarOneBear
    Я бы это постарался сделать это через background image в png в нужных местах. Тоесть картинку дыма на прозрачном фоне использовал бы. И можно без свечения, зависит от самой картинки и её яркости.

    А чтобы светился не контур фона, а содержимое вот тема
    Ответ написан
    Комментировать
  • Тег < p > и < span >. Есть разница?

    PolarOneBear
    @PolarOneBear
    Собственно все написали....
    Пример
    <p>Советую <span style="color: red;">погуглить про семантику</span>, тэги отличаются не просто так, есть main, header, footer - так же с текстом, все нужно использовать по мере необходимости, сайт конечно же можно на div-ах написать но это будет "неправильно" для поисковых роботов</p>
    <p>Разница в том, что <strong>span</strong> не несёт никакого семантического смысла, а <strong>p</strong> несёт и является параграфом.</p>


    Если захотите сделать какой-то элемент внутри "строки" (параграфа), выделить текст, сделать иконку - то еще один "строковый" элемент не лучшая идея.
    Дополнение: p - блочный элемент, занимает 100% ширины страницы или родительского блока. Может быть переопределен свойством display.

    Разница между p и span такая - на примере одного слова "визуально". Рамки - это "место" занимаемое тегом
    643f879fe0161577052657.jpeg
    Ответ написан
    4 комментария
  • Как сделать такую полоску над картинкой?

    PolarOneBear
    @PolarOneBear
    Сделал "на коленке" не обессудьте, но принцип возможно понять
    https://jsfiddle.net/PolarOne/qsn9pzer/
    643ef07c3743c447617009.jpeg

    Тоесть по сути я сделал псевдоэлемент (:after) и назначил ему фон и рамку и перекрыл им верх картинки.
    Так же можно этому псевдоэлементу задать свой фон в виде картинки....
    Но как по мне - слишком большие "жертвы" ради этого эффекта, может быть возможно через css transform... надо подумать
    Ответ написан
  • Почему не работает медиа запрос?

    PolarOneBear
    @PolarOneBear
    Извините, не заметил, что у вас SASS в тегах стоит. Тогда ответ ниже не актуален немного.
    Рекомендую статью с разбором по media sasshttps://habr.com/ru/articles/513626/


    Вы делаете медиа со скобками и помещаете туда обычные стили, посмотрите на примере ниже.

    @media screen and (min-width: 900px) {
      article {
        padding: 1rem 3rem;
      }
    }


    В вашем примере должно быть приблизительно так. Вы же не добавили закрывающую скобку, пропустили @, и стили в медиа вовсе не правильно указали. Попробуйте css ниже

    @media (max-width: 1200px) {
    .elips
    {
    width: 546px;
    height: 318.5px;
    border-radius: 273px /159.25px;
    }
    }


    Вынес скобочки чтоб видно было
    Ответ написан