m4xs051

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

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

در 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

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


لینک به پست

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

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

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

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


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

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

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


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