Skip to content

Instantly share code, notes, and snippets.

@stylenova
stylenova / Untitled-1
Last active December 6, 2024 22:08
Send massage telegram Woocommerce
<?php
/* Send to TG */
add_action('woocommerce_checkout_order_processed', 'send_order_to_telegram', 10, 1);
function send_order_to_telegram($order_id) {
if (!$order_id) {
return;
}
$order = wc_get_order($order_id);
@stylenova
stylenova / woo.php
Created October 28, 2024 13:09
Проверить какой шаблон используеться для вывода категорий архива
<?php
add_action('wp_footer', function () {
if (is_product_category() || is_shop()) {
global $template;
echo '<div>Шаблон: ' . $template . '</div>';
}
});
@stylenova
stylenova / woo.php
Created October 27, 2024 11:26
Добавлят в тему поддержку zoom, lightbox, slider, reviews ( WOO )
<?php
// Добавление поддержки WooCommerce в тему
function sn_add_woocommerce_support()
{
add_theme_support('woocommerce');
add_theme_support('wc-product-gallery-zoom');
add_theme_support('wc-product-gallery-lightbox');
add_theme_support('wc-product-gallery-slider');
}
add_action('after_setup_theme', 'sn_add_woocommerce_support');
@stylenova
stylenova / woo-comments.php
Created October 24, 2024 10:09
Вывести отзывы с рейтиногм (woo)
<?php
// Включает поддержка комментариев с ретиногом если тем создана через https://underscores.me/
add_theme_support('woocommerce');
@stylenova
stylenova / iframe.js
Created February 4, 2024 08:09
Адаптация iframe/video под родительский контейнет ( JS )
function adaptVideoFrame() {
var frames = document.getElementsByTagName('iframe');
if (frames.length > 0) {
var aspectRatio = 16 / 9; // Задаем желаемое аспектное соотношение
var containerWidth = frames[0].parentElement.clientWidth; // Ширина окна просмотра
var containerHeight = containerWidth / aspectRatio;
for (var i = 0; i < frames.length; i++) {
@stylenova
stylenova / functions.php
Last active September 16, 2023 18:29
Bitrix24 API
// Bitrix24
function bitrix_push_wpcf7_mail_sent_function($data)
{
$queryUrl = 'https://moneytime.bitrix24.eu/rest/24/v9gf2s0zby/crm.lead.add.json';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
@stylenova
stylenova / Регулярка телефон ( acf )
Created May 6, 2023 06:49
Регулярка телефон ( acf )
<?php echo preg_replace('![^0-9]+!', '', $phone); ?>
<?php
/**
* https://misha.agency/wordpress/create-hidden-user.html
*/
add_action('pre_user_query', 'misha_protect_user_query');
add_filter('views_users', 'protect_user_count');
add_action('load-user-edit.php', 'misha_protect_users_profiles');
add_action('admin_menu', 'protect_user_from_deleting');
@stylenova
stylenova / resize-photo.php
Last active March 25, 2023 12:27
Пропорциональное уменьшение фото ( wp size img )
<?php
function resize_image_wp($file_path, $max_width, $max_height = 0)
{
// получаем размеры изображения
list($orig_width, $orig_height, $type) = getimagesize($file_path);
// определяем соотношение сторон
$ratio = $orig_width / $orig_height;
// если высота не указана или равна 0, то вычисляем ее из ширины и соотношения сторон
@stylenova
stylenova / masonry.js
Last active March 25, 2023 11:25
Masonry не правильо позиционирует фото (пачкой одана на одной)
// Что делать если масонри налаживает фото пачкой одана на одну
// https://zapilim.net/blog/frame/18-masonry-v-330-adaptivnye-bloki-v-vide-setki.html
// Инициализация изображений
// Для того чтобы блоки не "налазили" друг на друга следует применить imagesLoaded
// Сначала мы подключаем библиотеку masonry js:
// Первая строка для разработчиков, вторая для пользователей