m4xs051

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

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

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

آقا @mehran-b سلام

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


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

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

 

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

0

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


لینک به پست
در 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');

 

0

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


لینک به پست
در 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');

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

 

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

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

 

0

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


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

 

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

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

 

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

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

ویرایش شده در توسط mehran-b
0

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


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

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

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

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

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

 

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

0

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


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

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

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

 

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

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

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

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

 

1

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


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

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

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


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

 

مرسی.

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

0

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


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

مرسی.

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

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

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

1

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


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

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

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

:)

باشه 

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

1

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


لینک به پست

@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

 

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

 

 

1

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


لینک به پست
در هم اکنون، 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

 

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

 

 

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

1

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


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

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

خواهش میکنم.

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

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

 

;)

1

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


لینک به پست
نقل قول

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

خواهش میکنم.

نقل قول

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

انشاالله

0

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


لینک به پست

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

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

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

 

 

0

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


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

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

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

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

 

 

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

0

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


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

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

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

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

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

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

0

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


لینک به پست
در 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);

 

1

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


لینک به پست
در 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

 

0

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


لینک به پست
<?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

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


لینک به پست
در 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);

 

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

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

0

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


لینک به پست
در 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);

 

1

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


لینک به پست
در 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:

1

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


لینک به پست

سلام

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

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

ممنون.

<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

0

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


لینک به پست
در 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>

 

3

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


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

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

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

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

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

ممنون.

0

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


لینک به پست

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

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

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

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


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

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

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


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