'', 'id' => 0 ], $atts ); $vendor = null; if ( $atts['id'] ) $vendor = get_user_by( 'id', (int) $atts['id'] ); elseif ( $atts['slug'] ) { $slug = sanitize_text_field( $atts['slug'] ); $vendor = get_user_by( 'login', $slug ) ?: get_user_by( 'slug', $slug ); } else { $slug = get_query_var( 'vv_vendor_store' ); if ( $slug ) $vendor = get_user_by( 'login', $slug ) ?: get_user_by( 'slug', $slug ); } if ( ! $vendor || ! VV_Helpers::is_vendor( $vendor->ID ) ) { return '
Vendor store not found.
'; } $vid = $vendor->ID; $stats = VV_Helpers::get_vendor_stats( $vid ); $banner = get_user_meta( $vid, 'vv_store_banner', true ); $logo = get_user_meta( $vid, 'vv_store_logo', true ); $bio = get_user_meta( $vid, 'vv_store_bio', true ); $store_name = get_user_meta( $vid, 'vv_store_name', true ) ?: $vendor->display_name; $current = get_current_user_id(); global $wpdb; $is_following = $current ? (bool) $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$wpdb->prefix}vv_followers WHERE vendor_id=%d AND customer_id=%d", $vid, $current ) ) : false; $follower_count = $stats['follower_count']; $products = get_posts( [ 'post_type'=>'product','post_status'=>'publish','post_author'=>$vid,'numberposts'=>12 ] ); $reviews = $wpdb->get_results( $wpdb->prepare( "SELECT r.*, u.display_name FROM {$wpdb->prefix}vv_vendor_reviews r LEFT JOIN {$wpdb->prefix}users u ON r.customer_id=u.ID WHERE r.vendor_id=%d ORDER BY r.created_at DESC LIMIT 6", $vid ) ); ob_start(); ?>
Banner
Logo

':''; ?> ( reviews)
No products listed yet.
ID ); if ( ! $product ) continue; $img = get_the_post_thumbnail_url( $p->ID, 'medium' ); ?>
<?php echo esc_attr($p->post_title); ?>

post_title); ?>

get_price()); ?> View

Store Info