remove_action( 'woocommerce_before_shop_loop_item_title', array( 'cherry_wc_quick_view', 'append_open_wrap' ), 0 );
Как это можно обойти, подсунув уже обработанные qTranslate данные?
add_filter( 'woocommerce_quantity_input_args', 'wpp_woocommerce_step_quantity_input', 10, 2 );
function wpp_woocommerce_step_quantity_input( $args, $product ) {
// ТУТ можете слазить в $product и сделать проверку на доп условие
// которое допишите к if ( is_cart( ) && допусловие )
if ( is_cart( ) ) {
$args['min_value'] = 50;
$args['step'] = 50;
}
return $args;
}
add_action( 'template_redirect', 'redirect_from_https_to_http', 1 );
function redirect_from_https_to_http() {
if ( is_ssl() && ! is_admin() ) {
if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {
wp_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ), 301 );
} else {
wp_redirect( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
}
die();
}
}
add_action('wp_insert_comment', 'wpp_comment_inserted', 99, 2);
function wpp_comment_inserted($comment_id, $comment_object) {
//$comment_object - объект комментария,
//получаете пост на который он оставлен
// и если это продукт отправляете письмо
}
add_action('transition_comment_status', 'wpp_comment_approve', 10, 3);
function wpp_comment_approve($new_status, $old_status, $comment_object) {
if( $old_status !== $new_status && $new_status === 'approved' ) {
//$comment_object - объект комментария,
//получаете пост на который он оставлен
// и если это продукт отправляете письмо
}
}
function wpp_buffer_content($buffer) {
// переменная $buffer содержит все содержимое страницы и его можно менять
// например
//$buffer = str_replace( 'Витя', 'Alien', $buffer );
return $buffer;
}
function wpp_buffer_start() {
ob_start( 'wpp_buffer_content' );
}
function wpp_buffer_stop() {
ob_end_flush();
}
add_action( 'wp_head', 'wpp_buffer_start' );
add_action( 'wp_footer', 'wpp_buffer_stop' );
function wpp_add_units_after_price_in_cart( $price, $cart_item, $cart_item_key ) {
// если единицы измерения хранятся не в в мета поле _product_units, тут получаем их
// из места их хранения по своему
$units = get_post_meta( $cart_item['product_id'], '_product_units', true );
if ( ! empty( $units ) ) {
$price .= ' ' . $units ;
}
return $price;
}
add_filter( 'woocommerce_cart_item_price', 'wpp_add_units_after_price_in_cart', 10, 3 );
if ( !class_exists( 'WPP_WC_Product_Cat_List_Walker_With_Thumb' ) ) :
class WPP_WC_Product_Cat_List_Walker_With_Thumb extends Walker {
public $tree_type = 'product_cat';
public $db_fields = array(
'parent' => 'parent',
'id' => 'term_id',
'slug' => 'slug',
);
public function start_lvl(&$output, $depth = 0, $args = array()) {
if ( 'list' != $args[ 'style' ] )
return;
$indent = str_repeat( "\t", $depth );
$output .= "$indent<ul class='children'>\n";
}
public function end_lvl(&$output, $depth = 0, $args = array()) {
if ( 'list' != $args[ 'style' ] )
return;
$indent = str_repeat( "\t", $depth );
$output .= "$indent</ul>\n";
}
public function start_el(&$output, $cat, $depth = 0, $args = array(), $current_object_id = 0) {
$output .= '<li class="cat-item cat-item-' . $cat->term_id;
if ( $args[ 'current_category' ] == $cat->term_id ) {
$output .= ' current-cat';
}
if ( $args[ 'has_children' ] && $args[ 'hierarchical' ] ) {
$output .= ' cat-parent';
}
if ( $args[ 'current_category_ancestors' ] && $args[ 'current_category' ] && in_array( $cat->term_id, $args[ 'current_category_ancestors' ] ) ) {
$output .= ' current-cat-parent';
}
$thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
$img_url= wp_get_attachment_url( $thumbnail_id );
$image = ! empty($img_url) ? '<img class="wpp-term-thumb" src="' . $img_url . '" alt="" />' : '';
$output .= '"><a href="' . get_term_link( (int) $cat->term_id, $this->tree_type ) . '">' . $image . _x( $cat->name, 'product category name', 'woocommerce' ) . '</a>';
if ( $args[ 'show_count' ] ) {
$output .= ' <span class="count">(' . $cat->count . ')</span>';
}
}
public function end_el(&$output, $cat, $depth = 0, $args = array()) {
$output .= "</li>\n";
}
public function display_element($element, &$children_elements, $max_depth, $depth = 0, $args, &$output) {
if ( !$element || ( 0 === $element->count && !empty( $args[ 0 ][ 'hide_empty' ] ) ) ) {
return;
}
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
}
}
endif;
function wpp_change_widget_product_categories_walker($array) {
require_once 'Путь_к_файлу_с_добаленным_классом';
$array[ 'walker' ] = new WPP_WC_Product_Cat_List_Walker_With_Thumb;
return $array;
}
add_filter('woocommerce_product_categories_widget_args','wpp_change_widget_product_categories_walker');