URL поставщиков WordPress в плагине Dokan - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь создать слайдер для пользователей с ролью вендоров, и пытаюсь получить URL-адрес вендора из плагина dokan, вот что я пытаюсь сгенерировать ссылку для каждого вендора в цикле слайдера, но он не работает:

function store_query_filter( $query ) {
    global $wp_query;

    $author = get_query_var( $query->custom_store_url );

    if ( !is_admin() && $query->is_main_query() && !empty( $author ) ) {
        $seller_info  = get_user_by( 'slug', $author );
        $store_info   = dokan_get_store_info( $seller_info->data->ID );
        if ( !empty( $store_info['store_name'] ) ) { 

            $vendor_link = dokan_get_store_url( $store_info->ID ); 

            return $vendor_link; 
        }
    }
}

add_shortcode( 'store_vendor_url', 'store_query_filter' );

1 Ответ

0 голосов
/ 03 июня 2018

Мне удалось решить эту проблему, добавив это в function.php и зарегистрировав шорткод,

function get_store_url($atts){

    $a = shortcode_atts(
        array(
      'id' => '1',
   ), 
    $atts );
$seller_id  = get_user_by( 'id', $a['id'] );
$vendor = dokan()->vendor->get( $seller_id );

                return  $vendor->get_shop_url();
}
add_shortcode( 'store_vendor_url', 'get_store_url' );

, теперь я могу использовать:

[store_vendor_url id="5"]

или:

[store_vendor_url id="[wpv-user field='ID']"]
...