Advertisement
palsushobhan

wcfm-store-name-as-slug

Nov 24th, 2021
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.41 KB | None | 0 0
  1. add_action( 'wcfmmp_new_store_created', function( $vendor_id, $wcfmmp_settings ) {
  2.     global $wpdb;
  3.     if ( !empty( $wcfmmp_settings['store_name'] ) ) {
  4.         $store_name = trim( $wcfmmp_settings['store_name'] );
  5.         $store_slug = sanitize_title( wc_clean( $store_name ) );
  6.         $wpdb->query( "UPDATE {$wpdb->prefix}users SET user_nicename = '{$store_slug}' WHERE ID =  $vendor_id" );
  7.     }
  8. }, 50, 2 );
  9.  
  10. add_action('wcfm_vendor_settings_update', function($vendor_id, $wcfm_settings_form) {
  11.     global $wpdb;
  12.     if(!empty($wcfm_settings_form['store_name'])) {
  13.         $store_name = trim( $wcfm_settings_form['store_name'] );
  14.         $store_slug = sanitize_title( wc_clean( $store_name ) );
  15.         $wpdb->query( "UPDATE {$wpdb->prefix}users SET user_nicename = '{$store_slug}' WHERE ID =  $vendor_id" );
  16.     }
  17. }, 10, 2);
  18.  
  19. add_filter( 'wcfm_is_allow_store_slug', '__return_false' );
  20. add_filter('wcfm_form_custom_validation', function($wcfm_vendor_form_data, $form_type) {
  21.     $error = false;
  22.     if($form_type==='vendor_manage') {
  23.         if(!empty($wcfm_vendor_form_data['store_name'])) {
  24.             $store_name = trim( $wcfm_vendor_form_data['store_name'] );
  25.             $store_slug = sanitize_title( wc_clean( $store_name ) );
  26.             $store_user = get_user_by( 'slug', $store_slug );
  27.             if ( $store_user ) {
  28.                 $error = true;
  29.             }
  30.         }
  31.     } elseif($form_type === 'vendor_setting_manage') {
  32.         if(!empty($wcfm_vendor_form_data['store_name'])) {
  33.             $store_name = trim( $wcfm_vendor_form_data['store_name'] );
  34.             $store_slug = sanitize_title( wc_clean( $store_name ) );
  35.             $store_user = get_user_by( 'slug', $store_slug );
  36.             if($store_user) {
  37.                 $store_id = $store_user->ID;
  38.                 if( wcfm_is_vendor() ) {
  39.                     $user_id = apply_filters( 'wcfm_current_vendor_id', get_current_user_id() );
  40.                 } else  {
  41.                     $user_id = absint( $wcfm_vendor_form_data['vendor_id'] );
  42.                 }
  43.                 if ( $store_id && $store_id != $user_id) {
  44.                     $error = true;
  45.                 }
  46.             }
  47.         }
  48.     }
  49.     if($error){
  50.         return array(
  51.             'has_error' => true,
  52.             'message' => __( 'Store name already exists - Please use a different name.' ),
  53.         );
  54.     }
  55.     return array('has_error' => false,);
  56. }, 10, 2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement