رفتن به مطلب

ایجاد فرم عضویت در خبرنامه


sajad

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

در 4 ساعت قبل، m4xs051 گفته است :

آقا @mehran-b سلام

یه سوال: چطور میشه ایمیلی که به کاربر ارسال میشه توسط این کد


$text = $name . ' عزیز، شما با موفقیت به عضویت خبرنامه سایت ما در آمدید.';

رو براش تمپلت تعریف کرد؟ یا مثلا یه صفحه html براش درست کرد و به این کد اضافه کرد و هر زمان که بخواد ایمیلی ارسال کنه اسم کاربر رو به فایل تمپلت ادد کنه و ایمیل رو ارسال کنه؟

 

شما داخل متغیر text میتونید کد HTML هم قرار بدید ابتدا باید تمپلیت مورد نظر رو با HTML بنویسید سپس مثلا متغیر name رو در جایی که مشخص کردید لای کدهای HTML تون بذارید.

لینک به ارسال
در 2 دقیقه قبل، mehran-b گفته است :

شما داخل متغیر text میتونید کد HTML هم قرار بدید ابتدا باید تمپلیت مورد نظر رو با HTML بنویسید سپس مثلا متغیر name رو در جایی که مشخص کردید لای کدهای HTML تون بذارید.

البته عذر میخوام تابع wp_mail به صورت پیشفرض کانتنت تایپ ارسالش متنه باید با استفاده از یه هوک ساده کانتنت تایپ رو به HTML تغییر بدید.

برای این کار کد زیر رو به فایل functions.php قالبتون زیر

<?php

اضافه کنید.

function mehran_set_content_type(){
    return "text/html";
}
add_filter('wp_mail_content_type', 'mehran_set_content_type');

 

لینک به ارسال
در 8 دقیقه قبل، mehran-b گفته است :

البته عذر میخوام تابع wp_mail به صورت پیشفرض کانتنت تایپ ارسالش متنه باید با استفاده از یه هوک ساده کانتنت تایپ رو به HTML تغییر بدید.

برای این کار کد زیر رو به فایل functions.php قالبتون زیر


<?php

اضافه کنید.


function mehran_set_content_type(){
    return "text/html";
}
add_filter('wp_mail_content_type', 'mehran_set_content_type');

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

 

خواهش میکنم. ممنون از شما

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

 

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

 

خواهش میکنم. ممنون از شما

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

 

این کد که دادم اجازه میده شما با تابع wp_mail کدهای HTML رو ارسال کنید.

حالا کدهای تمپلیت مورد نظر رو شما باید توی متغیر text همون تابعی که برای Ajax بهتون دادم قرار بدید و مثلا جایی که توی تمپلیت برای نام کاربر هست از متغیر name استفاده کنید.

ویرایش شده توسط mehran-b
لینک به ارسال
در ۱ ساعت قبل، mehran-b گفته است :

این کد که دادم اجازه میده شما با تابع wp_mail کدهای HTML رو ارسال کنید.

حالا کدهای تمپلیت مورد نظر رو شما باید توی متغیر text همون تابعی که برای Ajax بهتون دادم قرار بدید و مثلا جایی که توی تمپلیت برای نام کاربر هست از متغیر name استفاده کنید.

خب سوال اینجاست که چطور کدهای html رو به اون داد؟ فکر کنید یه فایل html به اسم news.html داریم که تو این فایل تمپلت ارسال ایمیل رو درست کردیم که چطور باشه.

حالا این فایل رو چطوری باید به یه متغییر داد؟ اصلا اینجوری میشه یا باید تگ های html رو بصورت پارامتری به این متغییر داد؟ اگه اینطوری درسته چطوری باید انجام بشه؟

 

و در آخر ممنون بابت پاسخگویی :rolleyes:

لینک به ارسال
در هم اکنون، m4xs051 گفته است :

خب سوال اینجاست که چطور کدهای html رو به اون داد؟ فکر کنید یه فایل html به اسم news.html داریم که تو این فایل تمپلت ارسال ایمیل رو درست کردیم که چطور باشه.

حالا این فایل رو چطوری باید به یه متغییر داد؟ اصلا اینجوری میشه یا باید تگ های html رو بصورت پارامتری به این متغییر داد؟ اگه اینطوری درسته چطوری باید انجام بشه؟

 

و در آخر ممنون بابت پاسخگویی :rolleyes:

توی متغییر کدهای HTML رو میریزید دیگه.

مثلا اینطوری.

$text = '<html><head></head><body><h1>سلام</h1></body></html>';

 

لینک به ارسال
در 13 ساعت قبل، mehran-b گفته است :

توی متغییر کدهای HTML رو میریزید دیگه.

مثلا اینطوری.


$text = '<html><head></head><body><h1>سلام</h1></body></html>';

 

مرسی.

استایل دهی ها رو هم میشه تو تگ هد این متغییر ادد کرد درسته ؟ مشکلی ایجاد نمیکنه؟

لینک به ارسال
در 10 دقیقه قبل، m4xs051 گفته است :

مرسی.

استایل دهی ها رو هم میشه تو تگ هد این متغییر ادد کرد درسته ؟ مشکلی ایجاد نمیکنه؟

تا به حال استایل HTML ندادم به ایمیل ها.

تست کنید ببنید چیزی که گفتید جواب میده یا نه.

لینک به ارسال
در 23 دقیقه قبل، mehran-b گفته است :

تا به حال استایل HTML ندادم به ایمیل ها.

تست کنید ببنید چیزی که گفتید جواب میده یا نه.

:)

باشه 

پس تست که کردم نتیجه اش رو میزارم همینجا.

لینک به ارسال

@mehran-b 

خب میرسیم به نتیجه :)

خروجی این کد:‌

$text = '<html> <head> <style> .header-wc, .footer-wc { width: 100%; padding: 10px; text-align: center; font-family: tahoma; background-color: aquamarine; } .body-wc { width: 100%; padding: 10px; text-align: center; font-family: tahoma; background-color: #f2f2f2; } </style> </head> <body> <div class="header-wc"> <p>متنی که در هدر قرار میگیرد</p> </div> <div class="body-wc"> <p>کاربر عزیز '.$name.' سلام <br> شما با موفقیت به عضویت خبرنامه سایت ما در آمدید. </p> </div> <div class="footer-wc"> <p>متنی که در فوتر قرار میگیرد</p> </div> </body> </html>';

 

این شد:  

 

59a285fed3a69_ScreenShot2017-08-27at13_14_19.png.04a3c7064f349ec0ed741d1f1600b119.png

 

مشکلی نیست و همه چی به خوبی داره ران میشه!

 

 

لینک به ارسال
در هم اکنون، m4xs051 گفته است :

@mehran-b 

خب میرسیم به نتیجه :)

خروجی این کد:‌


$text = '<html> <head> <style> .header-wc, .footer-wc { width: 100%; padding: 10px; text-align: center; font-family: tahoma; background-color: aquamarine; } .body-wc { width: 100%; padding: 10px; text-align: center; font-family: tahoma; background-color: #f2f2f2; } </style> </head> <body> <div class="header-wc"> <p>متنی که در هدر قرار میگیرد</p> </div> <div class="body-wc"> <p>کاربر عزیز '.$name.' سلام <br> شما با موفقیت به عضویت خبرنامه سایت ما در آمدید. </p> </div> <div class="footer-wc"> <p>متنی که در فوتر قرار میگیرد</p> </div> </body> </html>';

 

این شد:  

 

59a285fed3a69_ScreenShot2017-08-27at13_14_19.png.04a3c7064f349ec0ed741d1f1600b119.png

 

مشکلی نیست و همه چی به خوبی داره ران میشه!

 

 

فقط میشه گفت احسنت.

لینک به ارسال
در 3 دقیقه قبل، mehran-b گفته است :

فقط میشه گفت احسنت.

خواهش میکنم.

مرسی مهران جان اگه راهنمایی های شما نبود خروجی اینقدر خوب نمیشد.

انشاالله تاپیک های بعدی و موضوعات حرفه ای تر...

 

;)

لینک به ارسال
نقل قول

مرسی مهران جان اگه راهنمایی های شما نبود خروجی اینقدر خوب نمیشد.

خواهش میکنم.

نقل قول

انشاالله تاپیک های بعدی و موضوعات حرفه ای تر...

انشاالله

لینک به ارسال

آقا مهران یه سوال دیگه:

ببینید الان که اطلاعات ورودی رو به عنوان یه پست داریم ذخیره میکنم بعدا که این اطلاعات زیاد بشن و خواسته باشیم مثلا خبرنامه ارسال کنیم باید تک تک هر نوشته باز بشه و آدرس ایمیل از اون برداشته بشه فکر کنید ۱۰۰ تا یا ۱۰۰۰ تا ایمیل عضویت داریم و حالا قصد داریم به این ایمیل ها خبرنامه ارسال کنیم. یعنی برای اینکار باید ۱۰۰۰ نوشته رو تک تک باز و آدرس ایمیل رو برداریم که خیلی زمان بر و وقت گیر هست!

نمیشه کاری کرد که اطلاعات ورودی که میگیره خیلی مرتب و ساده تر تو یه تیبل تو بخش پست تایپ خبرنامه ذخیره کنه؟ و بشه خیلی راحت با چند کلیک هر چی ایمیل ثبت شده رو خروجی گرفت؟ مثلا اکسل یا csv و یا...

 

 

لینک به ارسال
در 19 دقیقه قبل، m4xs051 گفته است :

آقا مهران یه سوال دیگه:

ببینید الان که اطلاعات ورودی رو به عنوان یه پست داریم ذخیره میکنم بعدا که این اطلاعات زیاد بشن و خواسته باشیم مثلا خبرنامه ارسال کنیم باید تک تک هر نوشته باز بشه و آدرس ایمیل از اون برداشته بشه فکر کنید ۱۰۰ تا یا ۱۰۰۰ تا ایمیل عضویت داریم و حالا قصد داریم به این ایمیل ها خبرنامه ارسال کنیم. یعنی برای اینکار باید ۱۰۰۰ نوشته رو تک تک باز و آدرس ایمیل رو برداریم که خیلی زمان بر و وقت گیر هست!

نمیشه کاری کرد که اطلاعات ورودی که میگیره خیلی مرتب و ساده تر تو یه تیبل تو بخش پست تایپ خبرنامه ذخیره کنه؟ و بشه خیلی راحت با چند کلیک هر چی ایمیل ثبت شده رو خروجی گرفت؟ مثلا اکسل یا csv و یا...

 

 

چرا خروجی هم میشه گرفت مشکلی نیست.

لینک به ارسال
در 4 دقیقه قبل، mehran-b گفته است :

چرا خروجی هم میشه گرفت مشکلی نیست.

یعنی به همین روشی که گفتم؟ که بصورتی تیبلی اسم و ایمیل save بشن و  در نهایت بشه با چند کلیک خروجی رو گرفت؟

کار ساده ای هست؟ 

چطوری باید انجام بشه؟

اصلا چطوری پست هایی که تو پست تایپ خبرنامه ذخیره میشن رو تبدیل کرد به یه سطر از جدولی که میخوایم؟

لینک به ارسال
در 19 دقیقه قبل، m4xs051 گفته است :

یعنی به همین روشی که گفتم؟ که بصورتی تیبلی اسم و ایمیل save بشن و  در نهایت بشه با چند کلیک خروجی رو گرفت؟

کار ساده ای هست؟ 

چطوری باید انجام بشه؟

اصلا چطوری پست هایی که تو پست تایپ خبرنامه ذخیره میشن رو تبدیل کرد به یه سطر از جدولی که میخوایم؟

شما این کدهای زیر رو بذار توی یه فایل php به اون فایله رو بذار بغل فایل wp-load.php بعدش اجراش کن کل ایمیل های وارد شده رو توی یه فایل csv اکسپورت میگیره از دیتابیس وردپرس.

<?php

include('wp-load.php');

$table_name = $wpdb->prefix . 'posts';

$emails = $wpdb->get_results($wpdb->prepare("SELECT post_contents FROM $table_name WHERE post_type = %s", "newsletter"), ARRAY_N);

$fp = fopen('email.csv', 'w');

foreach($emails as $email)
	fputcsv($fp, $email);

fclose($fp);

 

لینک به ارسال
در 11 دقیقه قبل، mehran-b گفته است :

شما این کدهای زیر رو بذار توی یه فایل php به اون فایله رو بذار بغل فایل wp-load.php بعدش اجراش کن کل ایمیل های وارد شده رو توی یه فایل csv اکسپورت میگیره از دیتابیس وردپرس.


<?php

include('wp-load.php');

$table_name = $wpdb->prefix . 'posts';

$emails = $wpdb->get_results($wpdb->prepare("SELECT post_contents FROM $table_name WHERE post_type = %s", "newsletter"), ARRAY_N);

$fp = fopen('email.csv', 'w');

foreach($emails as $email)
	fputcsv($fp, $email);

fclose($fp);

 

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

59a663c5c77b5_ScreenShot2017-08-30at11_37_52.png.35545d56d068aa9ca15d8f68b43d1b11.png

 

لینک به ارسال
<?php

include('wp-load.php');

$table_name = $wpdb->prefix . 'posts';

$emails = $wpdb->get_results($wpdb->prepare("SELECT post_content FROM $table_name WHERE post_type = %s", "newsletter"), ARRAY_N);

$fp = fopen('email.csv', 'w');

foreach($emails as $email)
	fputcsv($fp, $email);

fclose($fp);

 

لینک به ارسال
در 5 دقیقه قبل، mehran-b گفته است :

<?php

include('wp-load.php');

$table_name = $wpdb->prefix . 'posts';

$emails = $wpdb->get_results($wpdb->prepare("SELECT post_content FROM $table_name WHERE post_type = %s", "newsletter"), ARRAY_N);

$fp = fopen('email.csv', 'w');

foreach($emails as $email)
	fputcsv($fp, $email);

fclose($fp);

 

اره الان درست شد.

نمیشه اسم کاربر که به عنوان عنوان پست داره ذخیره میشه رو هم تو این خروجی داشت؟

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

اره الان درست شد.

نمیشه اسم کاربر که به عنوان عنوان پست داره ذخیره میشه رو هم تو این خروجی داشت؟

<?php

include('wp-load.php');

$table_name = $wpdb->prefix . 'posts';

$emails = $wpdb->get_results($wpdb->prepare("SELECT post_title, post_content FROM $table_name WHERE post_type = %s", "newsletter"), ARRAY_N);

$fp = fopen('email.csv', 'w');

foreach($emails as $email)
	fputcsv($fp, $email);

fclose($fp);

 

لینک به ارسال
در 4 دقیقه قبل، mehran-b گفته است :

<?php

include('wp-load.php');

$table_name = $wpdb->prefix . 'posts';

$emails = $wpdb->get_results($wpdb->prepare("SELECT post_title, post_content FROM $table_name WHERE post_type = %s", "newsletter"), ARRAY_N);

$fp = fopen('email.csv', 'w');

foreach($emails as $email)
	fputcsv($fp, $email);

fclose($fp);

 

بی نظیره...

مرسی :rolleyes:

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

سلام

می دونم که خیلی وقته از تاپیک گذشته اما نتونستم یادبگیرم چکارباید بکنم.

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

ممنون.

<form action="<?php wp_mail( 'masoudduosam68@gmail.com', 'The subject', 'The message' ); ?>" method="post">
  <input type="email" name="news-email" value="" placeholder="ایمیل خود را وارد نمایید">
  <input class="btn btn-success" type="submit" value="تایید ایمیل">
</form>

 

FireShot Capture 020 - The subject - masoudch.official@gmail.co_ - https___mail.google.com_mail_u_0_.png

لینک به ارسال
در 27 دقیقه قبل، masoudch گفته است :

سلام

می دونم که خیلی وقته از تاپیک گذشته اما نتونستم یادبگیرم چکارباید بکنم.

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

ممنون.


<form action="<?php wp_mail( 'masoudduosam68@gmail.com', 'The subject', 'The message' ); ?>" method="post">
  <input type="email" name="news-email" value="" placeholder="ایمیل خود را وارد نمایید">
  <input class="btn btn-success" type="submit" value="تایید ایمیل">
</form>

 

FireShot Capture 020 - The subject - masoudch.official@gmail.co_ - https___mail.google.com_mail_u_0_.png

بهتر بود یک تاپیک جدا ایجاد میکردین

به نظر من کد شما اشتباه هست شما کد wp_mail رو چرا در قسمت action فورم نوشتین؟

<?php
	if(isset($_POST['submit'])){
	   wp_mail( 'masoudduosam68@gmail.com', 'News Letter User Email', $_POST['news-email'] );
	}
?>
<form method="post" enctype="multipart/form-data">
    <form method="post">
      <input type="email" name="news-email" value="" placeholder="ایمیل خود را وارد نمایید">
      <input class="btn btn-success" name="submit" type="submit" value="تایید ایمیل">
    </form>
</form>

 

لینک به ارسال
در 40 دقیقه قبل، lord_viper گفته است :

بهتر بود یک تاپیک جدا ایجاد میکردین

به نظر من کد شما اشتباه هست شما کد wp_mail رو چرا در قسمت action فورم نوشتین؟

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

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

ممنون.

لینک به ارسال

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

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

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

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

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

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

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

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

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