Skip to content

Instantly share code, notes, and snippets.

View Kodzhesyan's full-sized avatar
🎯
Focusing

Roman Kodzhesyan

🎯
Focusing
View GitHub Profile
@Kodzhesyan
Kodzhesyan / functions.php
Last active May 15, 2025 11:58
custom_restrict_gateways_by_product
<?
add_filter( 'woocommerce_available_payment_gateways', 'custom_restrict_gateways_by_product', 10, 1 );
function custom_restrict_gateways_by_product( $available_gateways ) {
if ( is_admin() || WC()->cart->is_empty() ) {
return $available_gateways;
}
// Тут вказуєте ідентифікатори саме тих продуктів І/АБО варіацій
$product_gateway_map = array(
@Kodzhesyan
Kodzhesyan / functions.php
Created March 5, 2023 17:25
Remove product page tabs
<?
/**
* Remove product page tabs
*/
add_filter( 'woocommerce_product_tabs', 'my_remove_all_product_tabs', 98 );
function my_remove_all_product_tabs( $tabs ) {
//unset( $tabs['description'] ); // Remove the description tab
//unset( $tabs['reviews'] ); // Remove the reviews tab
@Kodzhesyan
Kodzhesyan / functions.php
Created March 5, 2023 17:22
Отключение полей Checkout
<?
// Отключение обязательности полей
add_filter( 'woocommerce_billing_fields', 'wc_optional_billing_fields', 10, 1 );
function wc_optional_billing_fields( $address_fields ) {
$address_fields['billing_email']['required'] = false;
$address_fields['billing_address_1']['required'] = false;
$address_fields['billing_address_2']['required'] = false;
//$address_fields['billing_mrkvnp_street']['required'] = false;
@Kodzhesyan
Kodzhesyan / functions.php
Last active March 5, 2023 17:19
Отключить Гутенберг в виджетах.
<?
// Відключаємо Гутенберг в футері (віджетах)
add_filter( 'gutenberg_use_widgets_block_editor', '__return_false' );
add_filter( 'use_widgets_block_editor', '__return_false' );
@Kodzhesyan
Kodzhesyan / functions.php
Last active March 5, 2023 17:07
Плашка "в наявності"
<?
//Додаємо плашку "В налявності" на сторінці товару WooCommerce
add_filter( 'woocommerce_get_availability', 'custom_override_get_availability', 10, 2);
function custom_override_get_availability( $availability, $_product ) {
if ( $_product->is_in_stock() ) $availability['availability'] = __('В наявності', 'woocommerce');
return $availability;
}
@Kodzhesyan
Kodzhesyan / functions.php
Last active March 5, 2023 17:28
додає валюту Українська гривня (UAH) до WooCommerce
<?php
// Добавляем валюту гривня в WooCommerce
add_filter('woocommerce_currencies', 'add_my_currency');
function add_my_currency($currencies) {
$currencies['UAH'] = __('Українська гривня', 'woocommerce');
return $currencies;
}
@Kodzhesyan
Kodzhesyan / functions.php
Last active March 5, 2023 16:16
Відключити оновлення деяких плагінів
<?php
// Відключити оновлення деяких плагінів
add_filter( 'site_transient_update_plugins', function ( $value ) {
unset( $value->response['megamenu-pro/megamenu-pro.php'] );
unset( $value->response['woocommerce-smart-coupons/woocommerce-smart-coupons.php'] );
unset( $value->response['faview-virtual-reviews-for-woocommerce/faview-virtual-reviews-for-woocommerce.php'] );
return $value;
} );
@Kodzhesyan
Kodzhesyan / functions.php
Last active May 15, 2025 12:07
Не телефонувати (чекбокс в чекауте)
<?php
// Додайте чекбокс на сторінку оформлення замовлення
add_action( 'woocommerce_after_checkout_billing_form', 'add_no_call_checkbox' );
function add_no_call_checkbox( $checkout ) {
woocommerce_form_field( 'no_call', array(
'type' => 'checkbox',
'class' => array('form-row-wide'),
'label' => __('Телефонувати мені не потрібно.'),
), $checkout->get_value( 'no_call' ));
@Kodzhesyan
Kodzhesyan / speed-up-admin-wp.php
Last active September 20, 2022 10:08
Ускоряем админку WordPress — отключаем агрессивную проверки обновлений
<?php
/**
* Отключаем принудительную проверку новых версий WP, плагинов и темы в админке,
* чтобы она не тормозила, когда долго не заходил и зашел...
* Все проверки будут происходить незаметно через крон или при заходе на страницу: "Консоль > Обновления".
*
* @see https://wp-kama.ru/filecode/wp-includes/update.php
* @author Kama (https://wp-kama.ru)
* @version 1.1
*/
@Kodzhesyan
Kodzhesyan / functions.php
Created December 17, 2021 00:21
Custom validation for Billing Phone checkout field - WooCommerce
// Custom validation for Billing Phone checkout field
add_action('woocommerce_checkout_process', 'custom_validate_billing_phone');
function custom_validate_billing_phone() {
$is_correct = preg_match('/^[0-9]{10}$/', $_POST['billing_phone']);
if ( $_POST['billing_phone'] && !$is_correct) {
wc_add_notice( __( 'Напишите правильно свой номер телефона.<strong>Он должен состоять только из 10 цифр</strong>. Например: <strong>0990603439</strong>' ), 'error' );
}
}