• Как обратиться к данным из csv таблицы?

    Maksim_64
    @Maksim_64
    Data Analyst
    Первое я почти все оставлю как у вас что бы вашу логику не нарушать, внесу небольшие изменения.
    def read_csv(filename):   #зачем у вас в оригинале параметр data если вы его не используете логичнее передавать имя файла.
        with open(filename, encoding='utf-8') as file:
            reader = csv.reader(file)
            data = list(reader)
            return data

    далее используем вашу функцию для чтения получаем вложенный список в ответ, а нам он не нужен вложенный нам обычный нужен по этому распрямляем его.
    data = read_csv('urls.csv')
    flat_list = [item for sublist in data for item in sublist]


    далее по все видимости вы собираетесь использовать эти ссылки для парсинга
    пишете функцию которая будет парсить проходитесь циклом по списку flat_list и передаете в функцию по одной ссылке и все. Ваша функция будет принимать параметр url, затем делать request, затем beatifulsoup будет парситьи отдавать результат. Сделайте функцию которая делает это все для одного url, потом циклом по списку внутри цикла вызывайте функцию с параметром url.

    А теперь общие соображения.
    Зачем csv? когда читаешь csv он возвращает список под каждую строку, с обычного txt, мы бы этого избежали, я бы использовал бы вообще для записи json. Где ключом было бы название товара, а значением ссылка. Потому что если что не будет работать, то будет известно какой товар не удается спарсить.

    Нужно создавать log file и писать туда что отдал сервер при запросе и туда же писать различные исключения а то потом ума не дашь где ошибка.

    В коде много лишнего, параметр data в обоих случаях нужно заменить на filename. И много других погрешностей.
    Ответ написан
  • Woocommerce. Как изменить фразу?

    в functions.php добавить следующее:
    add_filter('gettext', 'translate_text');
    add_filter('ngettext', 'translate_text');
     
    function translate_text($translated) {
    $translated = str_ireplace('Подытог', 'Сумма', $translated);
    return $translated;
    }

    Соответственно, вместо "Сумма" можете вставить свое слово
    Ответ написан
    3 комментария
  • Где находится шаблон страницы успешной оплаты WooCommerce?

    trampick
    @trampick
    Веб-разработчик
    Здесь если не создавали шаблон для WC у себя в теме:
    wp-content/plugins/woocommerce/templates/checkout/thankyou.php
    ,Или здесь, если создавали:
    wp-content/themes/mytheme/woocommerce/checkout/thankyou.php
    Ответ написан
    Комментировать
  • Как в woocommerce сделать, чтобы при добавлении товара корзина очищалась?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    Попробуйте вот это решение https://businessbloomer.com/woocommerce-allow-1-pr...
    Должно помочь.

    Также можно поискать решения для отключения корзины. В случае такого сценария она явно лишняя.
    Ответ написан
    2 комментария
  • OpenCart или Woocommerce?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    WooCommerce занимает около 30% рынка ecommerce. И это №1 в мире. Если иных причин нет, то всегда лучше выбирать лидеров.
    Выбор других платформ возможен по причине наличия команды которая например только OpenCart.
    Либо какой то очень нагруженный ресурс где нужна тонкая игра с БД. Обычно это бюджеты от 10 млн руб и выше.
    Если бюджет не велик, то Woo вполне адекватное решение. Лидер рынка. Гибкость позволяет решить любые задачи, если в команде есть опытные специалисты или те кто умеют разбираться с API и читать доки.
    Плюс сейчас Woo взяли курс на свои таблицы в БД. А это значит что в скором будущем даже оч нагруженные ресурсы тут будут также хороши как и на фреймворках.
    Ответ написан
    Комментировать
  • OpenCart или Woocommerce?

    Лично мне, в силу отсутствия надобности, не приходилось ковырять код opencart'a, но очень сильно раздражает тот факт, что какой-нибудь эквайринг сбербанка там находится в виде платного модуля (давно это было, может что-то поменялось). На сколько помню там используется MVC для шаблона, в общем-то полезная порой вещь. В качестве плюса опенкарта могу отметить лишь тот факт, что это все-таки CMS конкретно под магазин, в отличие от Wordpress, в котором куда более расширенный функционал, который, однако, может и не использоваться, а ресурсы будут уходить.

    Сам работаю с Woocommerce по нескольким причинам:
    1. Внутренности любого шаблона довольно удобно сделаны, что позволяет очень быстро все редактировать. Добраться до какого-нибудь шаблона формы заказа при оформлении товара - просто, в опенкарте порой возникали трудности.
    2. Наличие кучи готовых модулей вплоть до интеграции с 1с Предприятием. Очень удобно.
    3. Те же оплаты кредитными картами (которые, тут плюс, у опенкарта стоят чуть ли не из коробки) можно внедрить использованием Яндекс.Кассы.
    4. Реально каких-либо серьезных навыков программирования, чтобы развернуть свой ИНДИВИДУАЛЬНЫЙ магазин, не требуется. Достаточно лишь найти нужные плагины.
    5. Возможность работать с woocommerce хуками иногда бывает крайне полезной.
    6. Как правило любая проблема, которая у вас возникла, уже давно имеет решение, ибо коммьюнити, как мне кажется, у вукомерса больше, нежели у опенкарта.

    P.S Хочу отметить, что это лишь мое мнение. Опыта работы с опенкартом было мало, попытался описать все, что за этот опыт успел увидеть.
    Ответ написан
    Комментировать
  • Уведомления в телеграмм о новых заказах в Woocommerce?

    @Everything_is_bad
    Подскажите пожалуйста как нескольких пользователей добавить в одной строке?
    никак, для каждого пользователя отдельный вызов, еще придуманы циклы, чтобы не писать n-строк, и фоновые задачи, если вдруг это работает внутри ответа на http-запрос
    Ответ написан
    1 комментарий
  • В какую папку устанавливать аддоны Slider Revolution?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Аддоны, если мне память не изменяет устанавливаются через админку, в настройках слайдера. Впрочем, прочитать документацию не составит труда.
    Ответ написан
    Комментировать
  • Исключить определенный товар Woocommerce из общего правила, как это сделать?

    Le_Traceur_Snork
    @Le_Traceur_Snork
    PHP-программист | Wordpress
    Вторым аргументом в эту функцию передаётся $product - это объект класса WC_Product_Variable. Можно в функции получать его различные свойства и/или мета-поля, если они были зарегистрированы - и исходя из их значений либо выставлять min_qty, либо нет

    Два варианта:
    1. Совсем в лоб - исключать по перечислению ID ($product->get_id())
    2. По ID продукта получать его мета-поле, скажем, "Минимальное значение этого продукта" - и устанавливать его как min_qty
    Ответ написан
    Комментировать
  • Woocommerce вывесть цену в кнопке "add to cart"?

    Код необходимо добавить в function.php:
    add_filter( 'woocommerce_product_add_to_cart_text', 'custom_add_to_cart_price', 20, 2 ); // Shop and other archives pages
    add_filter( 'woocommerce_product_single_add_to_cart_text', 'custom_add_to_cart_price', 20, 2 ); // Single product pages
    function custom_add_to_cart_price( $button_text, $product ) {
        if( $product->is_type('variable') ) { // Variable products
            if( ! is_product() ){ // shop and archives
                $product_price = wc_price( wc_get_price_to_display( $product, array( 'price' => $product->get_variation_price() ) ) );
                return $button_text . ' - From ' . strip_tags( $product_price );
            } else { // Single product pages
                return $button_text;
            }
        } else {     // All other product types
            $product_price = wc_price( wc_get_price_to_display( $product ) );
            return $button_text . ' - Just ' . strip_tags( $product_price );
        }
    }
    Ответ написан
    1 комментарий
  • Как массово изменить категорию в Woocommerce?

    @is_koprino
    Я решил данную проблему с помощью плагина WooCommerce Advanced Bulk Edit единственный момент пришлось скачать пиратку так как он платный (благо нашел сразу без проблем), а так очень удобно можно все менять массово если разобраться. Была проблема, что товары были сброшены в одну категорию и надо было разные товары по разным категориям разнести, а из текущей соответственно убрать их. В плагине подгрузил товары по нужной категории, важно поставить галочку в опции Bulk editing mode тогда можно выбрать галочками нужные товары потом ткнуть в один из них, поменять категорию (и снять галку с текущей), сохранить изменения и вуаля все отмеченые товары будут в нужной категории. Заметил один косяк в плагине, операция не сработает если категории имею одинаковое название учитывайте это. У меня еще было что окна плагина схлапывались и их уносило в право от экрана, помогло растягивание их туда сюда. Надеюсь помог.
    Ответ написан
    Комментировать
  • Можно ли посмотреть какие шрифты используются в макете в figma?

    @Latnove
    Скачайте плагин (Logo Figma -> Plugins -> Browse plugins in Community). Этот плагин называется Font Fascia, когда вы хотите узнать, какие шрифты используются в самом макете, просто нажимаете на этот плагин (путь такой же) и он вам выдается все шрифты которые используются
    Ответ написан
    1 комментарий
  • Как сделать закругление картинки с одной стороны на css?

    RaySS
    @RaySS
    а есть слово верстальщица?
    border-top-left-radius — для верхнего левого угла;
    border-top-right-radius — для верхнего правого угла;
    border-bottom-left-radius — для нижнего левого угла;
    border-bottom-right-radius — для нижнего правого угла (в твоем случае)
    Ответ написан
    2 комментария
  • Как проверить сайт на iPhone?

    @sasanov
    Здесь пожалуйста посмотрите mobiletest.me/iphone_5_emulator/?u=https://topanta...
    Эмулятор расчитан на разные смартфоны, один из них как раз Apple iPhone 5, но в моем случае у реального человека на огрызке выходит ошибка, а в эмуляторе все отлично. Теперь думаю исправлять или нет...
    Ответ написан
    Комментировать
  • В какую папку устанавливать аддоны Slider Revolution?

    @MART777
    Аддоны устанавливаются как отдельные плагины.
    Ответ написан
    Комментировать
  • Почему не выводится текст из Advanced Custom Fields?

    @zudogav
    Посмотрите какой ID у страницы с произвольным полем и вставьте его в функцию вывода.
    <h2><?php the_field('items','ID'); ?></h2>
    Скорее всего у вас вывод производится в цикле записей, а в них нет такого поля.
    Это поможет, если у вас точно текстовое поле, которое возвращает значение, а не массив.
    Ответ написан
    1 комментарий
  • Как редактировать плагин WordPress, чтоб при его обновлении изменения сохранились?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Не слушайте, они не в теме))

    Можно, но при условии ваших знаний и возможностей плагина. Важно усвоить - ядро (файлы) плагина править нельзя. Но у себя воздействовать - можно.

    Итак:

    Смотря что вы подразумеваете под редактированием:

    1. Если css файлы - их редактировать нельзя. Только переопределять. т.е. если есть класс .some в плагине - то вы у себя в подвале подключайте свой css файл, а стиль для .some переносите и пишите там.

    2. если вы говорите о правке перевода, а у автора плагина строки переведены через __() функции - то воспользуйтесь плагинами интернационализации (переводов), или ВП фильтром gettext

    3. Если php файлы, то поинтересуйтесь у автора - есть ли в том месте, где вы хотите поменять, фильтр. apply_filters в коде плагина, а вы воздействуете на него через add_filters (Есть еще экшены (действия) - но они не позволяют изменять. Это триггеры, когда событие произошло).
    Если фильтра в этом месте нет - попросите автора добавить его. Обычно автор заинтересован в том, что его плагином пользуются и внедряет. Но если вам фильтр нужен только для смены текста - то вам вариант номер два, выше. У плагина может быть 500 строк и на каждую строку текста лепить фильтр - маразм.

    4. Автор плагина может ввести и поддерживать функционал шаблонов. Темплейты - например карточка товара, профиль пользователя, одиночная запись и т.д. Такой функционал имеют многие плагины. bbPress, woocommerce. Суть их такова - что вы переносите файл шаблона (например cart.php) в свою тему или внутри папки wp-uploads (каждый плаг по своему реализует) и плагин вначале проверяет наличие такого файла вне своей папки, а потом, если не нашел там, подключает из своей папки. Так вы можете всю нужную верстку и внешний вид под себя переделать.

    5. Много функций внутри плагина висит на хуках (add_action) - например так:
    add_action('some_action', 'some_function', 20);
    где 20 - приоритет выполнения. Так вы можете всю функцию дерегистрировать через remove_action. Например так:
    remove_action('some_action', 'some_function', 20); (приоритет 20 обязательно такой как и при регистрации)
    и потом всю функцию из плагина копируйте к себе (переименуйте) и вешайте на этот же хук и приоритет. Внутри функции уже делайте как вам надо - изменяйте.
    Но этот способ самый зависимый - т.к. вам нужно следить - вдруг в обновлении автор в этой функции внес изменения или устранил уязвимость. Следите через svn или гит.

    Так что варианты есть. А если их еще в плагине нет - попросите автора плагина добавить такую возможность. Если автор плагина не пойдет на встречу - не юзайте такой плагин. Там нет будущего. Большинство программистов понимает что ситуаций много и помогают и внедряют и подсказывают если есть еще способы влияния на нужный участок.
    Ответ написан
    Комментировать
  • Как убрать shop и product-categoty из URL Woocommerce?

    Проблему давно решил автор плагина Perfect SEO Url
    Ответ написан
    1 комментарий
  • Calculated Fields Form wordpress как вставить функцию?

    MaXComp
    @MaXComp
    интересуюсь frontend html+css+JS+php. Linux, C
    Добавляете поле - Calculated Field , в нем прописываете свою функцию. Не знаю актуально ли, 2 года прошло. Но может кому пригодится ;)
    Ответ написан
    Комментировать