ইমেল প্রেরণের পরে কিছু করুন


11

ওয়ার্ডপ্রেস একটি ইমেল প্রেরণের পরে আমি কিছু করতে চাই। উদাহরণস্বরূপ, wp_mail()ফাংশন ব্যবহার করে "রিসেট পাসওয়ার্ড" ইমেল প্রেরণের পরে ।

উত্তর:


14

অ্যাকশন কলব্যাকের সাথে পিএইচপিমেইলার ক্লাস ব্যবহার করা:

আমি 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হুকের মতো প্রয়োজনীয় হলে আমরা যেখানে আরও কিছু সীমাবদ্ধতা যুক্ত করতে পারি এবং অন্যান্য ক্রিয়ায় মোড়াতে পারি ।


আপনাকে ধন্যবাদ। আমি স্রেফ ওয়ার্ডপ্রেস প্লাগইন ডিরেক্টরি থেকে প্লাগইনটি এবং এটি এখন অ্যাক্সেসযোগ্য করেছি: wordpress.org/plugins/telegram-for-wp
আমির মৌসভী

1
নতুন প্লাগিন @ আমিরমৌসভি
বার্গিরে

যোগাযোগ ফর্ম 7 প্লাগইনের সাথে একটি বিরোধ রয়েছে। এটি প্রেরণের ফলাফল গ্রহণ করতে পারে না। এর এজাক্স লোডার চিরতরে ঘুরছে; এমনকি ইমেল সফলভাবে প্রেরণ করা হলেও।
আমির মৌসভী

2
আমি এই পদ্ধতিটি সিএফ 7 দিয়ে পরীক্ষা করেছি এবং এটি প্রত্যাশার মতো কাজ করেছে। যদি অজ্যাক্সলোডার চিরতরে ঘুরপাক খাচ্ছে তবে এটি সম্পর্কযুক্ত জাভাস্ক্রিপ্ট / পিএইচপি / সার্ভার ত্রুটিগুলি নির্দেশ করতে পারে এবং তাই সিএফ 7 এর wp_mail()মধ্যে কখনই ডাকা যাবে না। নোট করুন যে ২ য় পক্ষের প্লাগইনগুলি এখানে ডাব্লুপিএসইতে বিষয়বহুল। @ আমিরমৌসভি
বিরগিরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.