Skip to content

Instantly share code, notes, and snippets.

Avatar

Evgeny Lukin DxDiagDx

View GitHub Profile
@DxDiagDx
DxDiagDx / woo_set_category_images.py
Last active Jun 28, 2022
Woo API — присваиваем категориям изображения
View woo_set_category_images.py
from config import wcapi
def update_category_image(category):
category_id = category['category_id']
data = {
"image": {
"src": category['image']
}
}
@DxDiagDx
DxDiagDx / get_response.py
Created Jun 28, 2022
Woo API — get_response: отправляем повторный запрос при неудачной попытке
View get_response.py
def get_response(metod, endpoint=None, params=None, data=None):
response = None
for attemp in range(1, 6):
try:
if 'get' == metod.lower():
response = wcapi.get(endpoint=endpoint, params=params)
if 'post' == metod.lower():
response = wcapi.post(endpoint=endpoint, params=params, data=data)
except Exception as error:
print('Ошибка:', error)
@DxDiagDx
DxDiagDx / functions.php
Created May 23, 2022
WP StoreFront: как добавить Google Fonts
View functions.php
/* Меняем шрифт на Google Fonts */
add_action( 'storefront_header', 'add_google_fonts_storefront_header', 40 );
function add_google_fonts_storefront_header() {
?>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,200;8..144,300;8..144,400;8..144,500;8..144,600&display=swap" rel="stylesheet">
<?php
}
View ozon_parser.py
import csv
import requests
import json
def get_json():
url = "https://www.ozon.ru/api/composer-api.bx/page/json/v2" \
"?url=/product/avtomaticheskaya-kofemashina-inhouse-rozhkovaya-coffee-arte-icm1507-seryy-397529235/"
response = requests.get(url=url)
with open('ozon_1.json', 'w', encoding='utf-8') as file:
@DxDiagDx
DxDiagDx / functions.php
Last active Apr 22, 2022
Woo: Скрыть сайдбар в категориях первого уровня
View functions.php
/* Скрыть сайдбар в категориях первого уровня */
add_action( 'get_header', 'remove_storefront_sidebar' );
function remove_storefront_sidebar() {
if (is_product_category() ) {
global $wp_query;
$cat_obj = $wp_query->get_queried_object();
$category_parent = $cat_obj->parent;
if ( $category_parent == 0) {
remove_action( 'storefront_sidebar', 'storefront_get_sidebar', 10 );
?>
@DxDiagDx
DxDiagDx / avito_phone.py
Created Apr 6, 2022
AVITO - парсинг номера телефона
View avito_phone.py
import requests
params = {
'key': 'af0deccbgcgidddjgnvljitntccdduijhdinfgjgfjir',
}
url = f'https://m.avito.ru/api/1/items/2342612642/phone'
response = requests.get(url=url, params=params)
result = response.json()
@DxDiagDx
DxDiagDx / functions.php
Created Mar 24, 2022
WooCommerce - скрыть количество товаров в категориях
View functions.php
add_filter( 'woocommerce_subcategory_count_html', 'woo_remove_category_products_count' );
function woo_remove_category_products_count() {
return;
}
@DxDiagDx
DxDiagDx / get_images.py
Last active Feb 18, 2022
Python: скачать и переименовать изображения для интернет-магазина
View get_images.py
import csv
import requests
from transliterate import slugify
def download_image(image_url, image_name):
# получаем расширение файла изображения из url
# и добавлем его к имени изображения
extension = image_url.split('/')[-1].split('.')[-1]
image_name = image_name + '.' + extension
@DxDiagDx
DxDiagDx / telegram.py
Created Dec 13, 2021
Python — отправить сообщение в telegram
View telegram.py
import requests
def send_telegram(text: str):
token = 'token'
url = "https://api.telegram.org/bot"
channel_id = 'channel_id'
url += token
method = url + "/sendMessage"
@DxDiagDx
DxDiagDx / functions.php
Created Dec 6, 2021
Woo: Показать кнопки + - количество рядом с кнопкой добавления в корзину
View functions.php
/* Показать кнопки + - количество рядом с кнопкой добавления в корзину */
add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) {
if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() ) {
$html = '<form action="' . esc_url( $product->add_to_cart_url() ) . '" class="cart" method="post" enctype="multipart/form-data">';
$html .= woocommerce_quantity_input( array(), $product, false );
$html .= '<button type="submit" class="button alt">' . esc_html( $product->add_to_cart_text() ) . '</button>';
$html .= '</form>';
}
return $html;