ওয়ার্ডপ্রেস একটি ইমেল প্রেরণের পরে আমি কিছু করতে চাই। উদাহরণস্বরূপ, wp_mail()
ফাংশন ব্যবহার করে "রিসেট পাসওয়ার্ড" ইমেল প্রেরণের পরে ।
ওয়ার্ডপ্রেস একটি ইমেল প্রেরণের পরে আমি কিছু করতে চাই। উদাহরণস্বরূপ, wp_mail()
ফাংশন ব্যবহার করে "রিসেট পাসওয়ার্ড" ইমেল প্রেরণের পরে ।
উত্তর:
আমি PHPMailer
ক্লাসে কিছু খনন করে দেখেছি যে এটি একটি কাস্টম অ্যাকশন সমর্থন করে ।
এখানে কিভাবে কলব্যাক সঙ্গে সক্রিয় করা হয় doCallback()
ক্লাসে পদ্ধতি।
কলব্যাকের মাধ্যমে এই বৈশিষ্ট্যটি ব্যবহার করে গিটহাবের একটি PHPMailer
পরীক্ষাও রয়েছে callbackAction()
।
আমরা এটি দিয়ে ওয়ার্ডপ্রেসে সেট আপ করতে পারি:
$phpmailer->action_function = 'wpse_mail_action';
wpse_mail_action()
অ্যাকশন কলব্যাক কোথায়
আমরা কীভাবে এটি প্রয়োগ করতে পারি তা এখানে একটি উদাহরণ রয়েছে:
/**
* Custom PHPMailer action callback
*/
function wpse_mail_action( $is_sent, $to, $cc, $bcc, $subject, $body, $from )
{
do_action( 'wpse_mail_action', $is_sent, $to, $cc, $bcc, $subject, $body, $from );
return $is_sent; // don't actually need this return!
}
/**
* Setup a custom PHPMailer action callback
*/
add_action( 'phpmailer_init', function( $phpmailer )
{
$phpmailer->action_function = 'wpse_mail_action';
} );
এখন আমরা wpse_mail_action
হুক অ্যাক্সেস আছে ।
তারপরে আমরা আমাদের নিজস্ব মেল লগার যুক্ত করতে পারি এবং মেলগুলি সফলভাবে প্রেরণ করা হয়েছে কিনা তা পরীক্ষা করতে পারি।
"পাসওয়ার্ড রিসেট" পোস্টগুলি প্রেরণের পরে কীভাবে আমরা কিছু করতে পারি তা এখানে একটি (অপেশিত) উদাহরণ রয়েছে:
/**
* Do something after the "Password Reset" post has been successfully sent:
*/
add_action( 'wpse_mail_action', function( $is_sent, $to, $cc, $bcc, $subject, $body, $from )
{
if( $is_sent && false !== stripos( $subject, 'Password Reset' ) )
// do stuff
}, 10, 7 );
retrieve_password
হুকের মতো প্রয়োজনীয় হলে আমরা যেখানে আরও কিছু সীমাবদ্ধতা যুক্ত করতে পারি এবং অন্যান্য ক্রিয়ায় মোড়াতে পারি ।
wp_mail()
মধ্যে কখনই ডাকা যাবে না। নোট করুন যে ২ য় পক্ষের প্লাগইনগুলি এখানে ডাব্লুপিএসইতে বিষয়বহুল। @ আমিরমৌসভি