wc_customer_has_capability بررسی امکانات انجام مشتری مثل افزودن سفارش و …

wc_customer_has_capability بررسی امکانات انجام مشتری مثل افزودن سفارش و …

تابع ووکامرسی wc_customer_has_capability – بررسی امکانات انجام مشتری مثل افزودن سفارش ، حذف سفارش ، افزودن کاربر و …

Syntax – سینتکس

wc_customer_has_capability( (array) $allcaps, (array) $caps, (array) $args ); 

Parameters – پارامتر ها (3)

  • 1- $allcaps (array)
  • 2- $caps (array)
  • 3- $args (array)

Usage – نحوه استفاده

if ( !function_exists( 'wc_customer_has_capability' ) ) { 
    require_once ABSPATH . PLUGINDIR . 'woocommerce/includes/wc-user-functions.php'; 
} 
  
// The allcaps. 
$allcaps = array(); 
  
// The caps. 
$caps = array(); 
  
// The args. 
$args = array(); 
  
// NOTICE! Understand what this does before running. 
$result = wc_customer_has_capability($allcaps, $caps, $args); 
    

Defined – محل تعریف

/includes/wc-user-functions.php

function wc_customer_has_capability( $allcaps, $caps, $args ) { 
    if ( isset( $caps[0] ) ) { 
        switch ( $caps[0] ) { 
            case 'view_order' : 
                $user_id = $args[1]; 
                $order = wc_get_order( $args[2] ); 
 
                if ( $order && $user_id == $order->get_user_id() ) { 
                    $allcaps['view_order'] = true; 
                } 
            break; 
            case 'pay_for_order' : 
                $user_id = $args[1]; 
                $order_id = isset( $args[2] ) ? $args[2] : null; 
 
                // When no order ID, we assume it's a new order 
                // and thus, customer can pay for it 
                if ( ! $order_id ) { 
                    $allcaps['pay_for_order'] = true; 
                    break; 
                } 
 
                $order = wc_get_order( $order_id ); 
 
                if ( $order && ( $user_id == $order->get_user_id() || ! $order->get_user_id() ) ) { 
                    $allcaps['pay_for_order'] = true; 
                } 
            break; 
            case 'order_again' : 
                $user_id = $args[1]; 
                $order = wc_get_order( $args[2] ); 
 
                if ( $order && $user_id == $order->get_user_id() ) { 
                    $allcaps['order_again'] = true; 
                } 
            break; 
            case 'cancel_order' : 
                $user_id = $args[1]; 
                $order = wc_get_order( $args[2] ); 
 
                if ( $order && $user_id == $order->get_user_id() ) { 
                    $allcaps['cancel_order'] = true; 
                } 
            break; 
            case 'download_file' : 
                $user_id = $args[1]; 
                $download = $args[2]; 
 
                if ( $download && $user_id == $download->get_user_id() ) { 
                    $allcaps['download_file'] = true; 
                } 
            break; 
        } 
    } 
    return $allcaps; 
} 

versions – نسخه ها

از نسخه : 3.0.2

نسخه فعلی : 3.0.6

دیگر نسخه ها : 3.0.6 , 3.0.5 , 3.0.4 , 3.0.3 , 3.0.2

ارسال نظر