Skip to content

Instantly share code, notes, and snippets.

View DxDiagDx's full-sized avatar
:octocat:

Evgeny Lukin DxDiagDx

:octocat:
View GitHub Profile
@DxDiagDx
DxDiagDx / function.php
Created August 7, 2020 07:09
WOO: условия вывода по названию категории
add_action( 'woocommerce_before_main_content', 'bbloomer_loop_cat_slug' );
function bbloomer_loop_cat_slug() {
if ( is_product_category( 'books' ) ) {
echo 'This will show on the Books Cat page';
} elseif ( is_product_category( 'chairs' ) ) {
echo 'This will show on the Chairs Cat page';
}
@DxDiagDx
DxDiagDx / function.php
Created August 7, 2020 07:11
WOO: условие вывода на страницах меток
add_action( 'woocommerce_before_main_content', 'bbloomer_loop_tag' );
function bbloomer_loop_tag() {
if ( is_product_tag() ) {
echo 'This will show on every Cat pages';
} else {
echo 'This will show on all other Woo pages';
}
@DxDiagDx
DxDiagDx / function.php
Created August 7, 2020 07:12
WOO: условие вывода по имени метки
add_action( 'woocommerce_before_main_content', 'bbloomer_loop_tag_slug' );
function bbloomer_loop_tag_slug() {
if ( is_product_tag( 'red' ) ) {
echo 'This will show on the Red Tag page';
} elseif ( is_product_tag( 'yellow' ) ) {
echo 'This will show on the Yellow Tag page';
}
@DxDiagDx
DxDiagDx / function.php
Created August 7, 2020 07:19
WOO: условие вывода на страницах WooCommerce, кроме корзины и оформления заказа
add_action( 'woocommerce_before_main_content', 'bbloomer_woo_page' );
function bbloomer_woo_page() {
if ( is_woocommerce() ) {
echo 'This will show on Woo pages';
} else {
echo 'This will show on WP pages';
}
@DxDiagDx
DxDiagDx / function.php
Created August 7, 2020 07:21
WOO: условия вывода на страницах корзины или оформления заказа
add_action( 'woocommerce_sidebar', 'bbloomer_cart_checkout' );
function bbloomer_cart_checkout() {
if ( is_cart() ) {
echo 'This will show on the Cart sidebar';
} elseif ( is_checkout() ) {
echo 'This will show on the Checkout sidebar';
}
@DxDiagDx
DxDiagDx / function.php
Created August 7, 2020 07:33
WOO: условие вывода, если в корзине есть товар с определённым ID
function bbloomer_find_id_in_cart() {
foreach ( WC()->get_cart() as $cart_item_key => $values) {
$product = $values['data'];
if ( $product->get_id() == 123 ) {
// do something
}
}
@DxDiagDx
DxDiagDx / html
Last active September 8, 2020 12:43
Pods: шорткоды страницы настроек
Адрес:
[pods name="company-info" slug="company-address"]{@company-address}[/pods]
Режим работы:
[pods name="company-info" slug="company-time"]{@company-time}[/pods]
Телефон:
[pods name="company-info" slug="company-phone"]{@company-phone}[/pods]
Электронная почта:
@DxDiagDx
DxDiagDx / function.php
Last active September 8, 2020 12:35
Pods: Получаем информацию со страницы настроек
/* ========== Получаем информацию о компании со страницы настроек ==========*/
function get_company_details()
{
$pod = pods('company-info');
$fields = array(
'company-phone' => $pod-> field('company-phone'),
'company-email' => $pod-> field('company-email'),
'company-time' => $pod-> field('company-time'),
);
@DxDiagDx
DxDiagDx / functions.php
Last active December 5, 2020 11:59
Woo: вывод категорий над списком товаров
/* Выводим категории над списком товаров */
function woocommerce_product_category( $args = array() ) {
$woocommerce_category_id = get_queried_object_id();
$args = array(
'parent' => $woocommerce_category_id
);
$terms = get_terms( 'product_cat', $args );
if ( is_product_category() ) {
if ( $terms ) {
echo '<ul class="woocommerce-categories">';
@DxDiagDx
DxDiagDx / functions.php
Last active March 19, 2022 11:41
Woo: Бейдж "Бесплатная доставка" для товаров от 1000 руб.
/**
* Бейдж "Бесплатная доставка" для товаров от 1000 руб.
*/
add_action( 'woocommerce_before_shop_loop_item_title', 'usota_show_free_shipping_badge' );
function usota_show_free_shipping_badge() {
global $post, $product;
if ( $product && $product->get_price() >= 1000 ) {
echo '<span class="free-shipping">FREE</span>';
}