Advertisement
palsushobhan

wcfm-vendor-direct-payment-methods

Apr 28th, 2023
1,034
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.11 KB | None | 0 0
  1. function vendor_payment_methods_shortcode() {
  2.     global $product;
  3.     $vendor_id = get_post_field('post_author', $product->get_id());
  4.     if(!$vendor_id) return '';
  5.     $vendor_payment_methods = get_user_meta($vendor_id, 'wcfm_preferred_customer_payment', true);
  6.     if (WC()->payment_gateways()) {
  7.         $payment_gateways = WC()->payment_gateways->get_available_payment_gateways();
  8.     } else {
  9.         $payment_gateways = [];
  10.     }
  11.     if (!empty($payment_gateways) && !empty($vendor_payment_methods) ) {
  12.         $vendor_payment_methods_keys = array_keys($vendor_payment_methods);
  13.         $vendor_payment_method_names = [];
  14.         foreach($vendor_payment_methods_keys as $method) {
  15.             $vendor_payment_method_names[] = $payment_gateways[$method]->title ?? $method;
  16.         }
  17.         $payment_methods_text = implode(', ', $vendor_payment_method_names);
  18.         return 'Payment methods available for this vendor: ' . $payment_methods_text;
  19.     } else {
  20.         return 'No payment methods available for this vendor.';
  21.     }
  22. }
  23.  
  24. add_shortcode('vendor_payment_methods', 'vendor_payment_methods_shortcode');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement