WP-prog

Полезные сниппеты WordPress

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 '<a href="' . esc_url( $crumb[1] ) . '">' . esc_html( $crumb[0] ) . '</a>';
		} else {
			echo '<span id="esa-breadcrumb-last" style="display:none;">';
            echo esc_html( $crumb[0] );
            echo '</span>';
// 			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');