- +7(962)141-55-43
- @wpprog
- emel8881
- serj-post@mail.ru
1. Удалить опции сортировки со страницы каталога
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );
2. Сортировка товаров в каталоге по произвольному полю ACF
add_action( 'woocommerce_get_catalog_ordering_args', 'esa_sort_by_date' );
function esa_sort_by_date($args){
$args['order'] = 'ASC';
$args['meta_key'] = 'acf_date_edu';
$args['orderby'] = 'meta_value';
return $args;
}
3. После добавления товара в корзину переходим сразу на страницу заказа
add_filter('woocommerce_add_to_cart_redirect', 'esa_skip_cart');
function esa_skip_cart($redirect)
{
return wc_get_checkout_url();
}
4. Убрать последний пункт из хлебных крошек товара Woocommerce
Скопируем файл из плагина woocommerce/global/breadcrumb.php в свою тему и напишем обертку для echo esc_html( $crumb[0] ); , затем спрячем его через CSS
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! empty( $breadcrumb ) ) {
echo $wrap_before;
foreach ( $breadcrumb as $key => $crumb ) {
echo $before;
if ( ! empty( $crumb[1] ) && sizeof( $breadcrumb ) !== $key + 1 ) {
echo '' . esc_html( $crumb[0] ) . '';
} else {
echo '';
echo esc_html( $crumb[0] );
echo '';
// echo esc_html( $crumb[0] );
}
echo $after;
if ( sizeof( $breadcrumb ) !== $key + 1 ) {
echo $delimiter;
}
}
echo $wrap_after;
}
5. Отключаем Гутенберг для виджетов
add_filter('gutenberg_use_widgets_block_editor', '__return_false', 100);
add_filter('use_widgets_block_editor', '__return_false');
6. Сортировка товаров на странице магазина по наименованию в обратном порядке
add_action( 'woocommerce_product_query', 'product_query_sort_alphabetically' );
function product_query_sort_alphabetically( $q ) {
if ( ! isset( $_GET['orderby'] ) && ! is_admin() ) {
$q->set( 'orderby', 'title' );
$q->set( 'order', 'DESC' );
}
}
7. ID текущей страницы атрибута для поля ACF:
$desc_tags = get_field('desc_attrib', 'term_' . term_exists(single_term_title('', false)));
8. ID текущей категории для поля ACF:
$des_category = get_field('des_category', 'term_' . get_queried_object()->term_id);