在 WooCommerce 产品目录上显示 Dokan 供应商国家

Show Dokan vendor country on WooCommerce product catalog

谁能帮我解决这个代码 而不是显示国家,而是显示作者 你们能告诉我我在这段代码上做错了什么吗?

        add_action( 'woocommerce_after_shop_loop_item_title','sold_by' );
    function sold_by(){
    ?>
        
        <?php
            global $product;
            $seller = get_post_field( 'post_author', $product->get_id());
            $author = get_user_by( 'id', $seller );
    
            $store_info = dokan_get_store_info( $author->ID );
            $address = dokan_get_store_info( $author->address );
             ?>
                    <span class="details">
                        <?php printf( 'Origin: %s', $author->display_name, $address ); ?>
                    </span>
            <?php 
    
    
    }

查看此屏幕截图,显示作者来源而非国家/地区:

尝试以下操作:

add_action( 'woocommerce_after_shop_loop_item_title','dokan_store_country' );
function dokan_store_country(){
    global $product;

    $seller_id  = get_post_field( 'post_author', $product->get_id());
    $seller     = new WP_User( $seller_id );
    $countries  = WC()->countries->get_countries();
    $store_data = dokan_get_store_info( seller_id );

    if ( isset( $store_data['country'] ) ) {
        $store_country = $store_data['country']; // Try to get seller store country
    } elseif( isset( $countries[$seller->billing_country] ) ) {
        $store_country = $countries[$seller->billing_country]; // Try to get seller billing country
    } else {
        return; // Exit
    }

    echo '<span class="details">' . sprintf( __('Origin: %s'), $store_country ) . '</span>';
}

未经测试,它可以工作。