मैं वर्डप्रेस भेजने के बाद कुछ करना चाहता हूं। उदाहरण के लिए, wp_mail()
फ़ंक्शन का उपयोग करके "रीसेट पासवर्ड" ईमेल भेजने के बाद ।
मैं वर्डप्रेस भेजने के बाद कुछ करना चाहता हूं। उदाहरण के लिए, wp_mail()
फ़ंक्शन का उपयोग करके "रीसेट पासवर्ड" ईमेल भेजने के बाद ।
जवाबों:
मैंने PHPMailer
कक्षा में कुछ खुदाई की और पाया कि यह एक कस्टम एक्शन का समर्थन करता है ।
यहां बताया गया doCallback()
है कि कक्षा में विधि के साथ कॉलबैक कैसे सक्रिय होता है ।
कॉलबैक के माध्यम से इस सुविधा का उपयोग करके GitHub पर एक 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()
इसे CF7 के भीतर कभी नहीं बुलाया जा सकता है। ध्यान दें कि डब्ल्यूपीएसई पर 3 पार्टी प्लगइन्स विषय से दूर हैं। @AmirMousavi