URL-адрес поставщиков WordPress в плагине dokan

Я пытаюсь создать слайдер пользователей с ролью поставщиков и пытаюсь получить 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' );

person Abdullah Alkurdi    schedule 01.06.2018    source источник
comment
Что не работает? Что вы ожидаете ? а какую ошибку вы видите?   -  person cjmling    schedule 01.06.2018
comment
что вы передаете в шорткоде?   -  person Alice    schedule 01.06.2018
comment
спасибо, ребята, наконец-то мне удалось это решить. ценю вашу помощь ‹3   -  person Abdullah Alkurdi    schedule 03.06.2018


Ответы (1)


Мне удалось решить эту проблему, добавив это в 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"]

or :

[store_vendor_url id="[wpv-user field='ID']"]
person Abdullah Alkurdi    schedule 03.06.2018