shahinshams

تغییر آدرس ایمیل فرم تماس

7 پست در این موضوع قرار دارد

دوستان چجوری میشه آدرس ایمیل دریافت کننده رو تغییر داد، اینجور که تو کد اومده انگار از ایمیل مدیر سایت استفاده میشه اما میخوام از ایمیلی به جز ایمیل مدیر سایت استفاده کنم، یعنی یه ایمیل دیگه براش تعریف بشه و محتویات برای اون ایمیل ارسال بشن


private function send_mail() {
$email_to = get_option('admin_email');
$email_subject = __('Contact Form Message from', 'dv').' '.get_bloginfo('name');
$email_message = __('Name:', 'dv').' '.$this->userinput['name']."\n\n".
__('Email:', 'dv').' '.$this->userinput['email']."\n\n".
__('Message:', 'dv').' '.$this->userinput['message'];
return wp_mail($email_to, $email_subject, $email_message);
}

0

به اشتراک گذاری این پست


لینک به پست

دوستان ویرایش این کد خیلی سخته؟ که هیچکسی ج نمیده

0

به اشتراک گذاری این پست


لینک به پست

راستش به من گفته بودن این انجمن خیلی فعاله اما از صبح دارم سرمیزنم کسی پست منو ج نمیده

0

به اشتراک گذاری این پست


لینک به پست

سلام.سوالتونو همین امروز پرسیدین کمی صبر داشته باشید.

جوابتون خیلی واضحه که ! توی خط دوم


get_option('admin_email')

رو با :


'example@mail.com'

تعویض کنید.

exampl@mail.com هم همون ایمیل هدفتونه

1

به اشتراک گذاری این پست


لینک به پست

ممنون

راستش دیگه اینو خودم امتحان کرده بودم ;)

دیدین یه سری خطا برای فرم ها تعریف میشه؟ مثلا با موفقیت ارسال شد یا.... وقتی ایمیل رو جایگزین

admin_email میکنم میگه مشکلی پیش آمده، از طریق دیگری در تماس باشید

اینم کل کدای مربوط به فرم


<?php
/*-----------------------------------------------------------------------------------*/
/* AJAX Contact Form - mts_contact_form()
/*-----------------------------------------------------------------------------------*/
class mtscontact {
public $errors = array();
public $userinput = array('name' => '', 'email' => '', 'message' => '');
public $success = false;

public function __construct() {
add_action('wp_ajax_mtscontact', array($this, 'ajax_mtscontact'));
add_action('wp_ajax_nopriv_mtscontact', array($this, 'ajax_mtscontact'));
add_action('init', array($this, 'init'));
add_action('wp_enqueue_scripts', array($this, 'register_scripts'));
}
public function ajax_mtscontact() {
if ($this->validate()) {
if ($this->send_mail()) {
echo json_encode('success');
wp_create_nonce( "mtscontact" ); // purge used nonce
} else {
// wp_mail() unable to send
$this->errors['sendmail'] = __('An error occurred. Please contact site administrator.', 'dv');
echo json_encode($this->errors);
}
} else {
echo json_encode($this->errors);
}
die();
}
public function init() {
// No-js fallback
if ( !defined( 'DOING_AJAX' ) || !DOING_AJAX ) {
if (!empty($_POST['action']) && $_POST['action'] == 'mtscontact') {
if ($this->validate()) {
if (!$this->send_mail()) {
$this->errors['sendmail'] = __('An error occurred. Please contact site administrator.', 'dv');
} else {
$this->success = true;
}
}
}
}
}
public function register_scripts() {
wp_register_script('mtscontact', get_template_directory_uri() . '/js/contact.js', true);
wp_localize_script('mtscontact', 'mtscontact', array('ajaxurl' => admin_url('admin-ajax.php')));
}

private function validate() {
// check nonce
if (!check_ajax_referer( 'mtscontact', 'mtscontact_nonce', false )) {
$this->errors['nonce'] = __('Please try again.', 'dv');
}

// check honeypot // must be empty
if (!empty($_POST['mtscontact_captcha'])) {
$this->errors['captcha'] = __('Please try again.', 'dv');
}

// name field
$name = trim(str_replace(array("\n", "\r", "<", ">"), '', strip_tags($_POST['mtscontact_name'])));
if (empty($name)) {
$this->errors['name'] = __('Please enter your name.', 'dv');
}

// email field
$useremail = trim($_POST['mtscontact_email']);
if (!is_email($useremail)) {
$this->errors['email'] = __('Please enter a valid email address.', 'dv');
}

// message field
$message = strip_tags($_POST['mtscontact_message']);
if (empty($message)) {
$this->errors['message'] = __('Please enter a message.', 'dv');
}

// store fields for no-js
$this->userinput = array('name' => $name, 'email' => $useremail, 'message' => $message);

return empty($this->errors);
}
private function send_mail() {
$email_to = get_option('admin_email');
$email_subject = __('Contact Form Message from', 'dv').' '.get_bloginfo('name');
$email_message = __('Name:', 'dv').' '.$this->userinput['name']."\n\n".
__('Email:', 'dv').' '.$this->userinput['email']."\n\n".
__('Message:', 'dv').' '.$this->userinput['message'];
return wp_mail($email_to, $email_subject, $email_message);
}
public function get_form() {
wp_enqueue_script('mtscontact');

$return = '';
if (!$this->success) {
$return .= '<form method="post" action="" id="mtscontact_form" class="contact-form">
<input type="text" name="mtscontact_captcha" value="" style="display: none;" />
<input type="hidden" name="mtscontact_nonce" value="'.wp_create_nonce( "mtscontact" ).'" />
<input type="hidden" name="action" value="mtscontact" />

<label for="mtscontact_name">'.__('Name', 'dv').'</label>
<input type="text" name="mtscontact_name" value="'.esc_attr($this->userinput['name']).'" id="mtscontact_name" />

<label for="mtscontact_email">'.__('Email', 'dv').'</label>
<input type="text" name="mtscontact_email" value="'.esc_attr($this->userinput['email']).'" id="mtscontact_email" />

<label for="mtscontact_message">'.__('Message', 'dv').'</label>
<textarea name="mtscontact_message" id="mtscontact_message">'.esc_textarea($this->userinput['message']).'</textarea>

<input type="submit" value="'.__('Send', 'dv').'" id="mtscontact_submit" />
</form>';
}
$return .= '<div id="mtscontact_success"'.($this->success ? '' : ' style="display: none;"').'>'.__('Your message has been sent.', 'dv').'</div>';
return $return;
}
public function get_errors() {
$html = '';
foreach ($this->errors as $error) {
$html .= '<div class="mtscontact_error">'.$error.'</div>';
}
return $html;
}
}
$mtscontact = new mtscontact;
// Simple wrappers, to be used in template files
function mts_contact_form() {
global $mtscontact;
echo $mtscontact->get_errors(); // if there are any
echo $mtscontact->get_form();
}
function mts_get_contact_form() { // this could be used for shortcode support
global $mtscontact;
return $mtscontact->get_errors() . $mtscontact->get_form();
}
?>

0

به اشتراک گذاری این پست


لینک به پست

کل get_option عوض کردین یا فقط استرینگ admin_email ؟

طبق راهنمای وردپرس کدی که دادم باید درست کار کنه:

https://codex.wordpr...ference/wp_mail

اگر باز هم موفق نشدید میتونید از توی php.net راهنمای تابع mail رو بخونید و ایمیل رو مستقیم ارسال کنید.

موفق باشید.

0

به اشتراک گذاری این پست


لینک به پست

اینجوری دیگه


$email_to = get_option('email@man');

درست شد آقا ممنون

اینجوری درست بود


$email_to = 'email@man';

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری