# У вас
$category_types = get_terms( array([
'taxonomy' => 'product_cat',
'hide_empty' => false,
'term_taxonomy_id' => $cat_ids
]) );
#у меня
$category_types = get_terms( [
'taxonomy' => 'product_cat',
'hide_empty' => false,
'term_taxonomy_id' => $cat_ids
]);
$cat_ids = array_map('intval', explode(',',$category_id));
add_filter( 'wpcf7_validate', 'wpp_logic_for_skip_cf7_validate_in_posts', 2, 2 );
function wpp_logic_for_skip_cf7_validate_in_posts( $result, $tags ) {
$return = new WPCF7_Validation();
$invalid_fields = $result->get_invalid_fields();
/**
* Массив с полями не обязавтельными к проверке в определенных постах
* ключь - id поста в котором валидация не обязательна
* значения - тег(имя) поля которое не надо проверять
*/
// TODO: Вот тут некисло было бы сделать фильтром например $logic_for_skip = apply_filters( 'wpp_fr_cf7_skip_fields_array', [] ); так будет сильно удобнее настраивать, но для примера покатит и так
$logic_for_skip = [
4 => [
'your-name',
'your-message'
],
602 => [
'your-message'
]
];
// TODO: Этот кусок я бы не тянул в продакшен, так как значение скрытого поля _wpcf7_container_post легко подменить но queried_object тут не возвращает ID ибо, то-что было интересно я решил и валидация пропускается.
$current_id = (int)$_REQUEST[ '_wpcf7_container_post' ];
// если ошибок нет, то нихрена не делаем
if ( !is_array( $invalid_fields ) || count( $invalid_fields ) == 0 )
return $result;
//если ошибки есть, то смотрим в каких полях и если их надо пропустить пропускаем
foreach ( $invalid_fields as $invalid_field_key => $invalid_field_data ) {
if ( empty( $logic_for_skip[ $current_id ] ) || !in_array( $invalid_field_key, $logic_for_skip[ $current_id ] ) ) {
$return->invalidate( $invalid_field_key, $invalid_field_data[ 'reason' ] );
}
}
return $return;
}
Возможно ли сделать так, чтобы наведя мышкой на товар (hover) в каталоге товаров, менялась картинка товара на видео из этого же товара?
/**
* Добавление доп даты в корзину
*
* @param $cart_item_data
* @param $product_id
* @param $variation_id
*
* @return mixed
*/
function wpp_woo_additional_services_selection( $cart_item_data, $product_id, $variation_id ) {
if ( ! empty( $_REQUEST[ 'totalprice' ] ) ) {
$cart_item_data[ 'totalprice' ] = $_REQUEST[ 'totalprice' ];
}
return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'wpp_woo_additional_services_selection', 100, 3 );
array() = []
https://www.php.net/manual/ru/language.types.array.php - учите язык