/**
* Список меток поста с тайтлом задаваемым в описании метки
*
* @param null $post_id - ID поста для которого получить метки
* @param null $before - что-то до списка меток
* @param null $sep - разделитель между метками
* @param null $after - что-то после списка меток
*
* @return bool|string|WP_Error
*/
function wpp_get_post_tags_with_title( $post_id = null, $before = null, $sep = null, $after = null ) {
if ( empty( $post_id ) ) {
global $post;
$post_id = $post->ID;
}
$post_tags = get_the_tags( (int)$post_id );
if ( empty( $post_tags ) ) {
return false;
}
$links = [];
foreach ( $post_tags as $tag ) {
$link = get_term_link( (int)$tag->term_id, 'post_tag' );
if ( is_wp_error( $link ) ) {
return $link;
}
$links[] = sprintf( '<a href="%s" rel="tag" title="%s">%s</a>', esc_url( $link ), $tag->description, $tag->name );
}
$tag_links = apply_filters( "term_links-post_tag", $links );
return $before . join( $sep, $tag_links ) . $after;
}
При этом информация внутри одного бренда/типа никак не пересекалась с другим в момент покупки
При этом важно чтоб внешний вид (стили или шаблоны) у витрин отличался.
$need = explode( ',', $value ); // $value - значение вашего поля
// В массив параметров запроса добавить примерно такое
'meta_query' = [
[
'key' => 'key_name',
'value' => $need,
'compare' => 'LIKE'
]
]
/**
* @param $redirect_to
* @param $request
* @param $user
*
* @return false|string
*/
function wpp_user_redirect( $redirect_to, $request, $user ) {
$user_id = get_current_user_id();
$page = get_user_meta( $user_id, 'field_key', true );
if ( ! empty( $page ) ) {
return get_the_permalink( (int) $page );
}
return $redirect_to;
}
add_filter( 'login_redirect', 'redirect_admin', 10, 3 );
/**
* Split Product quantities in cart
* @param $cart_item_data
* @param $product_id
*
* @return mixed
*/
function wpp_only_one_product_per_row( $cart_item_data, $product_id ){
$cart_item_data['unique_key'] = uniqid();
return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'wpp_only_one_product_per_row', 10, 2 );
add_filter( 'woocommerce_is_sold_individually', '__return_true' );