رفتن به مطلب

حذف فیلد اجباری در افزونه edd


پست های پیشنهاد شده

میخوام فیلد های اجباری رو از حالت اجباری در بیارم ایا این کار شدنیه ؟

ایمیل و نام توی افزونه edd اجباریه

یا اگه نمیشه میشه روی فیلد یه متن دیفالت زد که اگه خالی باشه اون متن جاشو پر کنه ؟

یه مطلب دیدم ولی متوجه نشدم modifying the required checkout fields

 

Ejbar.jpg

لینک به ارسال

دقیقا توی همون لینک توضیح داده دیگه

function wpcar_remove_purchase_form_required_fields( $required_fields ) {
	unset( $required_fields['edd_first'] );
	unset( $required_fields['edd-email'] );

	return $required_fields;
}
add_filter( 'edd_purchase_form_required_fields', 'wpcar_remove_purchase_form_required_fields' );

این کد رو در فانکشن قالب اضافه کنید .

ایمیل و نام از حالت اجباری خارج میشه

لینک به ارسال

کد رو قرار دادم ولی  کار نکرد

 

این فانکشن قالبمه اگه ممکنه شما قرار بدید

 

<?php 
/** functions.php **/

/**
 * ----------------------------------------------------------------------------------------
 * Define constants.
 * ----------------------------------------------------------------------------------------
**/
 
define( 'THEMEROOT', get_template_directory_uri() );
define( 'IMAGES', THEMEROOT . '/img/' );
define( 'SCRIPTS', THEMEROOT . '/js/' );
define( 'FRAMEWORKS', THEMEROOT . '/inc/' );


/**
 * ----------------------------------------------------------------------------------------
 * Load includes.
 * ----------------------------------------------------------------------------------------
**/
 
require_once( 'inc/init.php');
require_once( 'admin/admin-functions.php' );
require_once( 'admin/admin-interface.php' );
require_once( 'admin/theme-settings.php' );


/**
 * ----------------------------------------------------------------------------------------
 * Set up the content width.
 * ----------------------------------------------------------------------------------------
**/
if ( ! isset( $content_width ) ) {

	$content_width = 840;
	
}
/**
 * ----------------------------------------------------------------------------------------
 * Supported features.
 * ----------------------------------------------------------------------------------------
**/
 
if ( ! function_exists( 'mavi_setup' ) ) {
	function mavi_setup() {

		/**
		 * Add support for automatic feed links.
		**/
		add_theme_support( 'automatic-feed-links' );

		/**
		 * Add support for post thumbnails.
		**/
		add_theme_support( 'post-thumbnails' );
		
		/**
		 * Let WordPress manage the document title.
		**/
		
		add_theme_support( 'title-tag' );

		/**
		 * Register nav menus.
		**/
		register_nav_menus(
			array(
				'main-menu' => 'منوی هدر',
				'file-category' => 'منوی اصلی'
			)
		);
	}

	add_action( 'after_setup_theme', 'mavi_setup' );
}

/**
 * ----------------------------------------------------------------------------------------
 * Excerpt.
 * ----------------------------------------------------------------------------------------
**/
 
if ( ! function_exists( 'the_excerpt_max_charlength' ) ) {

	function the_excerpt_max_charlength($charlength) {
	
		$excerpt = get_the_excerpt();
		
		$charlength++;

		if ( mb_strlen( $excerpt ) > $charlength ) {
		
			$subex = mb_substr( $excerpt, 0, $charlength - 5 );
			
			$exwords = explode( ' ', $subex );
			
			$excut = - ( mb_strlen( $exwords[ count( $exwords ) - 1 ] ) );
			
			if ( $excut < 0 ) {
			
				echo mb_substr( $subex, 0, $excut );
				
			} else {
			
				echo $subex;
				
			}
			
			echo '[...]';
			
		} else {
		
			echo $excerpt;
			
		}
		
	}
	
}

/**
 * ----------------------------------------------------------------------------------------
 * Hide Adminbar.
 * ----------------------------------------------------------------------------------------
**/

if (!current_user_can('manage_options')) {

	add_filter('show_admin_bar', '__return_false');
	
}

/**
 * ----------------------------------------------------------------------------------------
 * Restrict access to the administration screens.
 *
 * We do allow access for Ajax requests though, since these may be
 * initiated from the front end of the site by non-admin users.
 * ----------------------------------------------------------------------------------------
**/

if ( ! function_exists( 'mavi_admin_restrict' ) ) {

	add_action( 'admin_init', 'mavi_admin_restrict', 1 );

	function mavi_admin_restrict() {

		if ( ! current_user_can( 'edit_posts' ) && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
		
			wp_redirect( site_url() );
			
			exit;
			
		}
		
	}

}

/**
 * ---------------------------------------------------------------------------------------- 
 * Redirect user after successful login.
 *
 * @param string $redirect_to URL to redirect to.
 * @param string $request URL the user is coming from.
 * @param object $user Logged user's data.
 * @return string
 * ----------------------------------------------------------------------------------------
**/

if ( ! function_exists( 'mavi_login_redirect' ) ) {

	add_filter( 'login_redirect', 'mavi_login_redirect', 10, 3 );

	function mavi_login_redirect( $redirect_to, $request, $user ) {
	
		//is there a user to check?
		global $user;
		
		if ( isset( $user->roles ) && is_array( $user->roles ) ) {
		
			//check for admins
			if ( in_array( 'administrator', $user->roles ) || in_array( 'editor', $user->roles ) || in_array( 'shop_vendor', $user->roles ) ) {
			
				// redirect them to the default place
				return admin_url();
			} else {
			
				return home_url( get_option('mavi_dashboard_page') );
				
			}
			
		} else {
		
			return $redirect_to;
			
		}
		
	}

}

/**
 * ----------------------------------------------------------------------------------------
 * Redirect On Failed Login.
 * ----------------------------------------------------------------------------------------
**/

if ( ! function_exists( 'mavi_failed_login' ) ) {

	add_action( 'wp_login_failed', 'mavi_failed_login' );
	
	function mavi_failed_login() {
	
		$login_page  = home_url( get_option('mavi_dashboard_page') );
		
		wp_redirect( $login_page . '?login=failed' );
		
		exit;
	}

}

/**
 * ----------------------------------------------------------------------------------------
 * Verify Empty Username & Password.
 * ----------------------------------------------------------------------------------------
**//*

if ( ! function_exists( 'mavi_verify_user_pass' ) ) {

	add_filter( 'authenticate', 'mavi_verify_user_pass', 1, 3);
	
	function mavi_verify_user_pass( $user, $username, $password ) {
	
		$login_page  = home_url( get_option('mavi_dashboard_page') );
		
		if( $username == "" || $password == "" ) {
		
			wp_redirect( $login_page . "?login=empty" );
			
			exit;
			
		}
	
	}

}
*/
/**
 * ----------------------------------------------------------------------------------------
 * Redirect On Logout.
 * ----------------------------------------------------------------------------------------
**/

if ( ! function_exists( 'mavi_logout_redirect' ) ) {

	add_action('wp_logout','mavi_logout_redirect');

	function mavi_logout_redirect() {

		wp_redirect( home_url( ) );

		exit;

	}

}

/**
 * ----------------------------------------------------------------------------------------
 * Search Results Filtering
 * ----------------------------------------------------------------------------------------
**/

if ( get_option('mavi_search_checkbox') == "true" ) {
	
	add_filter('pre_get_posts', 'Mavi_Search_Filter');
	
	function Mavi_Search_Filter($query) {

		if ($query->is_search) {
		
			$query->set( 'post_type', array('download') );
			
		}
		
		return $query;

	}  
	
}

if ( ! function_exists( 'mavi_dropdown_taxonomies' ) ) {

	function mavi_dropdown_taxonomies( $taxonomy, $title ) {
	
		$tax_terms = get_terms($taxonomy, array('orderby'=>'slug','hide_empty'=>false));

		$output ='<select name="'.$taxonomy.'" class="'.$taxonomy.'"><option value="0">'. $title .'</option>';
		
		foreach($tax_terms as $term){
		
			$term_slug = $term->slug;
			
			$term_name = $term->name;
			
			$output .="<option value='".$term_slug."'>".$term_name."</option>";
		
		}
		
		$output .="</select>";
		
		return $output;
		
	}

}

if ( get_option('mavi_toman_enable') == "true" ) {
	add_filter( 'edd_rial_currency_filter_after', 'edd_toman_currency', 10, 3 );
	if ( ! function_exists( 'edd_toman_currency' ) ) {
		function edd_toman_currency( $formatted, $currency, $price ) {
			if ( ! is_admin() ) {
				$price = @str_replace( ',', '', $price );
				$price = @$price / 10;
				return $price . ' تومان';
			}
			return $price . ' ریال';
		}
	}
}


add_filter('posts_where', 'include_for_author');
function include_for_author($where){
	if( ! is_admin() && is_author())
		$where = str_replace(".post_type = 'post'", ".post_type in ('download')", $where);

	return $where;
}
/*
add_action( 'pre_get_posts', 'set_download_for_author' );
if ( ! function_exists( 'set_download_for_author' ) ) {
	function set_download_for_author( &$query ) {
		if ( $query->is_author )
			$query->set( 'post_type', array('download') );
		$query->is_main_query();
	}
}*/

add_filter('manage_users_columns', 'users_downloads_count_column_set');
if ( ! function_exists( 'users_downloads_count_column_set' ) ) {
	function users_downloads_count_column_set($columns) {
		$columns['downloads'] = 'دانلودها';
		return $columns;
	}
}

add_action('manage_users_custom_column', 'users_downloads_count_column_url', 10, 3);
if ( ! function_exists( 'users_downloads_count_column_url' ) ) {
	function users_downloads_count_column_url( $value, $column_name, $user_id ) {

		if ( 'downloads' != $column_name )
			return $value;
		global $wp_query;
		$posts = query_posts('post_type=download&author='.$user_id.'&order=ASC&posts_per_page=30');
		$posts_count = count($posts);
		$posts_count = "<a href='".site_url()."/wp-admin/edit.php?author={$user_id}&post_type=download'>{$posts_count}</a>";
		return $posts_count;
	}
}

?>

 

لینک به ارسال

کدی که خدمتتون دادم رو باید قبل از عبارت زیر به فانکشن اضافه کنید

؟>

 

لینک به ارسال
در 5 ساعت قبل، a_mogheimi گفته است :

کدی که خدمتتون دادم رو باید قبل از عبارت زیر به فانکشن اضافه کنید


؟>

 

بعد از این که کد رو میزارم باز به ایمیل گیر میده

 و خطای زیرو میده

خطا: ایمیل نامعتبر

<div class="edd_errors edd-alert edd-alert-error"><p class="edd_error" id="edd_error_email_invalid"><strong>خطا</strong>: ایمیل نامعتبر</p></div>

 

لینک به ارسال

اگه میخواهید فیلد کلا حذف بشه به این لینک مراجعه کنید :

https://easydigitaldownloads.com/forums/topic/remove-personal-info-on-checkout-page/

 

البته با این کد میشه تمامی فیلدها رو حذف کرد :

  
function pw_edd_remove_names() {
  remove_action( 'edd_purchase_form_after_user_info', 'edd_user_info_fields' );
}
add_action( 'init', 'pw_edd_remove_names' );
function pw_edd_user_info_fields() {
	if( is_user_logged_in() ) :
		$user_data = get_userdata( get_current_user_id() );
	endif;
	?>
	<fieldset id="edd_checkout_user_info">
		<legend><?php echo apply_filters( 'edd_checkout_personal_info_text', __('Personal Info', 'edd') ); ?></legend>
		<?php do_action( 'edd_purchase_form_before_email' ); ?>
		<p id="edd-email-wrap" style="display:none">
			<input class="edd-input required" type="hidden" name="edd_email" placeholder="<?php _e('Email address', 'edd'); ?>" id="edd-email" value="<?php echo is_user_logged_in() ? $user_data->user_email : 'a@b.com'; ?>"/>
			<label class="edd-label" for="edd-email"><?php _e('Email Address', 'edd'); ?></label>
		</p>
		<?php do_action( 'edd_purchase_form_after_email' ); ?>
		<?php do_action( 'edd_purchase_form_user_info' ); ?>
	</fieldset>
	<?php
}
add_action( 'edd_purchase_form_after_user_info', 'pw_edd_user_info_fields' );

 

ویرایش شده توسط a_mogheimi
لینک به ارسال
در 16 دقیقه قبل، a_mogheimi گفته است :

اگه میخواهید فیلد کلا حذف بشه به این لینک مراجعه کنید :

https://easydigitaldownloads.com/forums/topic/remove-personal-info-on-checkout-page/

 

البته با این کد میشه تمامی فیلدها رو حذف کرد :


  
function pw_edd_remove_names() {
  remove_action( 'edd_purchase_form_after_user_info', 'edd_user_info_fields' );
}
add_action( 'init', 'pw_edd_remove_names' );
function pw_edd_user_info_fields() {
	if( is_user_logged_in() ) :
		$user_data = get_userdata( get_current_user_id() );
	endif;
	?>
	<fieldset id="edd_checkout_user_info">
		<legend><?php echo apply_filters( 'edd_checkout_personal_info_text', __('Personal Info', 'edd') ); ?></legend>
		<?php do_action( 'edd_purchase_form_before_email' ); ?>
		<p id="edd-email-wrap" style="display:none">
			<input class="edd-input required" type="hidden" name="edd_email" placeholder="<?php _e('Email address', 'edd'); ?>" id="edd-email" value="<?php echo is_user_logged_in() ? $user_data->user_email : 'a@b.com'; ?>"/>
			<label class="edd-label" for="edd-email"><?php _e('Email Address', 'edd'); ?></label>
		</p>
		<?php do_action( 'edd_purchase_form_after_email' ); ?>
		<?php do_action( 'edd_purchase_form_user_info' ); ?>
	</fieldset>
	<?php
}
add_action( 'edd_purchase_form_after_user_info', 'pw_edd_user_info_fields' );

 

مشکلم حل شد ممنون داداش خیلی لطف کردیییییییی ♥

لینک به ارسال

خواهش میکنم . کافیه روی دکمه سبز کلیک کنید همون کار تشکر رو انجام میده.

لینک به ارسال

سلام استاد

 

من کد شما رو تو قالب قرار داد ولی برای من همچنان خطای وارد کردن نام میده. میشه راهنمایی کنید ؟

در ضمن می خوام کاربر اصلاً وارد صفحه سبد خرید نشه و مستقیم وارد صفحه بانک بشه، میشه لطفاً در این مورد هم راهنمایی کنی.

 

البته من این پست های شما رو هم دیدم ولی نتوستم تابع  edd_user_info_fields()  رو پیدا کنم، میشه بگید از هوک چجوری باید برای ادیت این تابع استفاده کنم.

 

Edd.JPG

لینک به ارسال

همراه کد قبلی این کد رو هم استفاده کنید
:

function wpcar_remove_purchase_form_required_fields( $required_fields ) {
	unset( $required_fields['edd_first'] );
	unset( $required_fields['edd-email'] );

	return $required_fields;
}
add_filter( 'edd_purchase_form_required_fields', 'wpcar_remove_purchase_form_required_fields' );

اگه کار نکرد لینک سایت رو بدید بررسی کنم

لینک به ارسال
در 2 ساعت قبل، a_mogheimi گفته است :

همراه کد قبلی این کد رو هم استفاده کنید
:


function wpcar_remove_purchase_form_required_fields( $required_fields ) {
	unset( $required_fields['edd_first'] );
	unset( $required_fields['edd-email'] );

	return $required_fields;
}
add_filter( 'edd_purchase_form_required_fields', 'wpcar_remove_purchase_form_required_fields' );

اگه کار نکرد لینک سایت رو بدید بررسی کنم

سلام واقعاً که استادی شما 

دم شما گرم درست شد خیلی خیلی زیاد ممنون

 

یه سوال دیگه میشه راهنمایی کنید وقتی رو خرید کلیک شد بدون رفتن به سبد خرید مستقیم بریم تو درگاه بانک ؟

الان من تنطیم کردم به محض کلیک رو خرید میره تو سبد خرید که این ویژگی خود EDD هست، ولی می خواد مستیم وارد بانک بشه. 

 

و سوال بعدی آیا میشه اون عبارت Personal Info رو هم پاک کرد که نشون نده ؟

EDD 2.JPG

لینک به ارسال
در 1 ساعت قبل، smem گفته است :

و سوال بعدی آیا میشه اون عبارت Personal Info رو هم پاک کرد که نشون نده ؟

بله عبارت

<legend><?php echo apply_filters( 'edd_checkout_personal_info_text', __('Personal Info', 'edd') ); ?></legend>
		

رو از کدی که در قالب قرار دادید حذف کنید.

برای قسمت دوم سوالتون باید عرض کنم هوکی برای استفاده پیدا نکردم ولی شاید بشود  با صرف هزینه، اختصاصی براتون افزونه ای برای اینکار نوشت.

لینک به ارسال
  • 1 سال بعد...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...