चैरिटेबल ब्लॉग

चैरिटेबल और हमारी टीम के बारे में वह सब कुछ जो आपको जानना आवश्यक है।

AWARE: 30 for 30 अभियान बैनर

AWARE व्हिसलर के अनोखे “30 फॉर 30” फ़ंडरेज़र पर एक अंदरूनी नज़र (ट्यूटोरियल)

अंतिम बार इस पर अपडेट किया गया

  • द्वारा

AWARE व्हिसलर व्हिसलर, कनाडा के प्राकृतिक पर्यावरण की रक्षा के लिए प्रतिबद्ध एक चैरिटी है। यह संगठन इस साल अपनी 30वीं वर्षगांठ मना रहा है और इस अवसर को 30 फॉर 30 फ़ंडरेज़र लॉन्च करके मना रहा है।

30 फॉर 30 फ़ंडरेज़र का लक्ष्य $60,000 जुटाना है, जिसमें $30,000 व्यवसायों से और $30,000 व्यक्तिगत दान से जुटाए जाएंगे।

AWARE इस अभियान को चलाने के लिए Charitable के अभियान-संचालित फ़ंडरेज़िंग दृष्टिकोण का उपयोग कर रहा है, जिसमें दो व्यक्तिगत फ़ंडरेज़िंग अभियान स्थापित किए गए हैं: एक व्यवसायों के लिए, और एक व्यक्तियों के लिए।

चुनौती

बेशक, इस तरह के अनोखे अभियानों की अनोखी ज़रूरतें होती हैं, और 30 फॉर 30 फ़ंडरेज़र भी इसका अपवाद नहीं है।

चूंकि दो फ़ंडरेज़िंग अभियानों में से एक विशेष रूप से व्यवसायों से दान प्राप्त करने पर केंद्रित है, इसलिए उस अभियान के दान फ़ॉर्म में एक कंपनी का नाम फ़ील्ड आवश्यक है। साथ ही, जब साइट पर दानदाताओं को दिखाया जाता है (दानदाता शॉर्टकोड या विजेट का उपयोग करके), तो दान करने वाले व्यक्ति का नाम नहीं, बल्कि कंपनी का नाम दिखाया जाना चाहिए।

सौभाग्य से, Charitable का लचीलापन AWARE की ज़रूरतों के लिए आदर्श रूप से उपयुक्त है। आइए देखें कैसे।

चरण 1. "कंपनी का नाम" फ़ील्ड जोड़ें

सबसे पहले हमें दान फ़ील्ड API का उपयोग करके एक नया दान फ़ील्ड बनाना होगा।

आइए इसे प्राप्त करने के लिए आवश्यक कोड पर एक नज़र डालें:

/**
 * STEP 1: Register the "Company Name" Donation Field.
 *
 * On the `init` hook, we create a new Donation Field. It has a
 * key of `company_name` (this is how we will reference it later),
 * and it's set up as a required field in the donation form, shown
 * after the `last_name` field.
 */
add_action( 'init', function() {
        /**
         * Add a "Company Name" field.
         */
        $field = new Charitable_Donation_Field(
            'company_name',
            [
                'label' => 'Company Name',
                'data_type' => 'user',
                'donation_form' => [
                    'show_after' => 'last_name',
                    'required' => true,
                ],
                'admin_form' => true,
                'show_in_meta' => true,
                'show_in_export' => true,
                'email_tag' => [
                    'description' => 'The company name',
                ],
            ]
        );

        /**
         * Register the field.
         */
        charitable()->donation_fields()->register_field( $field );
}, 100 );

यहां कुछ चीजें हो रही हैं। सबसे पहले, बिल्कुल ऊपर, हम init हुक पर चलने वाला एक फ़ंक्शन सेट कर रहे हैं। जब भी आप एक नया दान फ़ील्ड पंजीकृत करना चाहते हैं तो यह उपयोग करने के लिए सबसे अच्छा हुक है।

हमारे फ़ंक्शन के अंदर, हम Charitable_Donation_Field ऑब्जेक्ट के साथ एक नया दान फ़ील्ड बनाते हैं। आइए उस हिस्से पर करीब से नज़र डालें:

$field = new Charitable_Donation_Field(
     'company_name',
     [
         'label' => 'Company Name',
         'data_type' => 'user',
         'donation_form' => [
             'show_after' => 'last_name',
             'required' => true,
         ],
         'admin_form' => true,
         'show_in_meta' => true,
         'show_in_export' => true,
         'email_tag' => [
             'description' => 'The company name',
         ],
     ]
 );

यहां हम company_name की कुंजी के साथ एक फ़ील्ड बना रहे हैं (हमें इसकी बाद में आवश्यकता होगी)। हमने एक लेबल सेट किया है, इसे एक उपयोगकर्ता फ़ील्ड के रूप में परिभाषित किया है, और यह कैसे दान फ़ॉर्म में दिखाई देना चाहिए, इसके लिए कुछ बुनियादी नियम निर्धारित किए हैं: last_name फ़ील्ड के ठीक बाद और एक आवश्यक फ़ील्ड के रूप में।

हमने इसे एडमिन दान फ़ॉर्म, दान मेटा और दान निर्यात फ़ाइल में दिखाने के लिए भी सेट किया है। हमने Charitable को इसके लिए एक ईमेल टैग बनाने के लिए भी कहा है, ताकि हम इसे अपने दान रसीद ईमेल में उपयोग कर सकें।

अंत में, हम इस फ़ील्ड को दान फ़ील्ड API के साथ पंजीकृत करते हैं:

charitable()->donation_fields()->register_field( $field );

चरण 2. "कंपनी का नाम" फ़ील्ड केवल एक अभियान पर दिखाएं

डिफ़ॉल्ट रूप से, जब आप एक दान फ़ील्ड सेट करते हैं, तो यह हर अभियान के दान फ़ॉर्म में दिखाई देगा। हालांकि, "30 फॉर 30" अभियान के लिए, AWARE केवल यह फ़ील्ड व्यवसाय फ़ंडरेज़र के दान फ़ॉर्म में दिखाना चाहता है।

हम इसे इस प्रकार प्राप्त करते हैं:

/**
 * STEP 2: Only show the field on a specific campaign.
 *
 * We only want the field to show up on a single campaign's
 * form, so we *remove* it from all other campaigns' donation
 * forms.
 */
add_filter( 'charitable_donation_form_user_fields', function( $fields, Charitable_Donation_Form $form ) {
    /**
     * Check the campaign ID of the donation form being
     * shown. If it isn't the one where we want the field,
     * remove the field using the unset() function.
     */
    if ( 123 != $form->get_campaign()->ID ) {
        unset( $fields['company_name'] );
    }

    return $fields;
}, 10, 2 );

जिस तरह से हम इस समस्या को हल करते हैं, वह है company_name फ़ील्ड को *हटाना* जब हम व्यवसाय अभियान के दान फ़ॉर्म को *नहीं* दिखा रहे हों। सारा जादू यहीं होता है:

if ( 123 != $form->get_campaign()->ID ) {
     unset( $fields['company_name'] );
 }

इस मामले में, हम कल्पना कर रहे हैं कि बिजनेस अभियान की आईडी 123 है। इसलिए जब हम किसी विशेष फॉर्म में फ़ील्ड देख रहे होते हैं, तो हम फॉर्म के अभियान की आईडी की जांच करते हैं, और यदि यह 123 नहीं है, तो हम अपने फ़ील्ड को हटाने के लिए unset() फ़ंक्शन का उपयोग करते हैं, इसे company_name की कुंजी से संदर्भित करते हुए, जिसे हमने चरण 1 में सेट किया था।

चरण 3. डोनर्स शॉर्टकोड या विजेट में डोनर का नाम कस्टमाइज़ करें

अब जब हमने अपना कंपनी का नाम फ़ील्ड जोड़ लिया है, तो बिजनेस अभियान को दान दिखाते समय डोनर के पहले और अंतिम नाम के बजाय बस यही उपयोग करना बाकी है।

आइए कोड देखें:

/**
 * STEP 3: Use the company name for the donor name.
 *
 * When showing the donor name for a particular donation,
 * check if the donation was to the campaign with our
 * Company Name field. If it was, show the Company Name
 * instead of the individual's name.
 */
add_filter( 'charitable_donor_loop_donor_name', function( $name, $args ) {
    /**
     * Get the Donor object from the argument array.
     */
    $donor = $args['donor'];

    /**
     * Check if there is a Donation object associated
     * with this Donor.
     */
    $donation = $donor->get_donation();

    if ( ! $donation ) {
        return $name;
    }

    /**
     * Get the campaign that received the donation.
     */
    $campaign_id = current( $donation->get_campaign_donations() )->campaign_id;

    /**
     * If this was a donation to our campaign,
     * let's change the donor name.
     */
    if ( 123 == $campaign_id ) {
        $name = $donation->get( 'company_name' );
    }

    return $name;
}, 15, 2 );

सबसे पहले, ध्यान दें कि यह charitable_donor_loop_donor_name हुक पर कॉल किए गए फ़ंक्शन के रूप में सेट अप है। हम इस हुक का उपयोग करते हैं क्योंकि यह तब दिखाया जाता है जब भी डोनर्स विजेट या शॉर्टकोड के साथ डोनर्स की सूची दिखाई जाती है।

फ़ंक्शन के अंदर, हम पहले $args पैरामीटर से Charitable_Donor ऑब्जेक्ट प्राप्त करते हैं। फिर हम $donor->get_donation() विधि के माध्यम से Charitable_Donation ऑब्जेक्ट प्राप्त करते हैं:

/**
 * Check if there is a Donation object associated
 * with this Donor.
 */
$donation = $donor->get_donation();

if ( ! $donation ) {
    return $name;
}

आप सोच सकते हैं कि हम क्यों जांचते हैं कि $donation सेट है या नहीं। इसका कारण यह है कि कभी-कभी, Charitable_Donor किसी विशिष्ट दान के साथ सेट अप नहीं होता है। ऐसा ही एक उदाहरण तब होता है जब डोनर्स विजेट/शॉर्टकोड को एक ही डोनर द्वारा कई दान को एक में समूहित करने के लिए सेट किया जाता है - उस मामले में, कोई Charitable_Donation ऑब्जेक्ट नहीं बुलाया जाता है, और हम केवल डोनर का नाम दिखाएंगे।

इसलिए, इस दृष्टिकोण की एक महत्वपूर्ण चेतावनी यह है कि यह केवल तभी काम करेगा जब डोनर्स विजेट/शॉर्टकोड को एक ही व्यक्ति द्वारा कई दान को समूहित करने के बजाय प्रत्येक दान को व्यक्तिगत रूप से दिखाने के लिए सेट किया गया हो।

आगे बढ़ते हुए, हम यह पता लगाने के लिए Charitable_Donation ऑब्जेक्ट का उपयोग करते हैं कि किस अभियान को दान दिया गया था, और जांचते हैं कि क्या यह हमारा बिजनेस अभियान है (आईडी 123 वाला):

/**
 * Get the campaign that received the donation.
 */
$campaign_id = current( $donation->get_campaign_donations() )->campaign_id;

/**
 * If this was a donation to our campaign,
 * let's change the donor name.
 */
if ( 123 == $campaign_id ) {
    $name = $donation->get( 'company_name' );
}

यह अंतिम भाग बस यह जांचता है कि $campaign_id 123 है। यदि यह है, तो हम कंपनी का नाम इस प्रकार प्राप्त करते हैं:

$donation->get( 'company_name' );

ध्यान दें कि company_name उस दान फ़ील्ड की कुंजी से मेल खाता है जिसे हमने चरण 1 में पंजीकृत किया था।

और इसके साथ, हम सब कर चुके हैं!

संपूर्ण समाधान

आप हमारे गिटहब कोड लाइब्रेरी में एक ही स्थान पर एक साथ रखे गए सभी कोड देख सकते हैं:

https://github.com/Charitable/library/blob/master/tutorials/new-donation-field-plus-customized-donor-name.php

इसे क्रियान्वित देखने के लिए - और यदि आप AWARE Whistler द्वारा किए गए महत्वपूर्ण कार्यों के लिए अपना समर्थन दिखाना चाहते हैं - तो उनकी वेबसाइट पर 30 for 30 Fundraiser पृष्ठ पर जाएं।

अंतिम शब्द

यदि आपने इस ट्यूटोरियल का आनंद लिया और चाहते हैं कि हम किसी भिन्न विषय पर एक लिखें, तो हमें बताएं! आप हमारे Support पृष्ठ पर फ़ॉर्म भरकर ईमेल के माध्यम से हमसे संपर्क कर सकते हैं, या नीचे एक टिप्पणी छोड़ सकते हैं।

लेखक अवतार
एरिक डाम्स

प्रकटीकरण: हमारी सामग्री पाठकों द्वारा समर्थित है। इसका मतलब है कि यदि आप हमारे कुछ लिंक पर क्लिक करते हैं, तो हम कमीशन कमा सकते हैं। हम केवल उन उत्पादों की सलाह देते हैं जो हमें लगता है कि हमारे पाठकों के लिए मूल्य जोड़ेंगे।

एक उत्तर छोड़ें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड * से चिह्नित हैं

अपने इनबॉक्स में सीधे मुफ्त टिप्स और संसाधन प्राप्त करें, साथ ही 60,000+ अन्य लोगों के साथ

हमारे न्यूज़लेटर में शामिल हों

हम आपको स्पैम नहीं भेजेंगे। हम केवल तभी ईमेल भेजते हैं जब हमें लगता है कि यह वास्तव में आपकी मदद करेगा। आप किसी भी समय सदस्यता समाप्त कर सकते हैं!

विशेष वीडियो:

हमारे यूट्यूब चैनल पर और वीडियो देखें।

चैरिटेबल में नया क्या है

नवीनतम अपडेट देखें
🔔 हमारे नवीनतम अपडेट प्राप्त करने के लिए सदस्यता लें
📧 ईमेल के लिए सदस्यता लें

ईमेल सदस्यता

हमारे न्यूज़लेटर में शामिल हों

हम आपको स्पैम नहीं भेजेंगे। हम केवल तभी ईमेल भेजते हैं जब हमें लगता है कि यह वास्तव में आपकी मदद करेगा। आप किसी भी समय सदस्यता समाप्त कर सकते हैं!

💂‍♂️ New DonationGuard 🛡️ Automatically Protects Your Donations!

Worried about card testing attacks or spam bots flooding your donation forms, but don’t want to ruin the giving experience for your real supporters? Charitable’s DonationGuard features:

🛡️ Real-Time Bot Detection: Actively monitors every donation submission for five distinct attack signals without slowing down your human donors.

📊 Smart Traffic Scoring: Instantly evaluates activity against a learned baseline of your site’s normal donation rhythms to catch sneaky, slow-drip card testing.

🚨 Severity-Tiered Alerts: Immediately opens structured “Attack Records” and notifies you via email and admin alerts the moment a campaign starts taking fire.

🎯 Single-Click Defense: Deploy instant security using the “Recommended Settings” preset to turn on Honeypot, Time Trap, and Rate Limit modules all at once.

🚫 Automated Blocklists: Permanently stop repeat offenders by automatically blocking suspicious email addresses based on your customized rules.

अधिक जानने के लिए इस पृष्ठ पर जाएँ

लेखक अवतार
एरिक डाम्स
गिवडब्ल्यूपी माइग्रेशन नया

🧤 White Glove Migration Service for GiveWP

अपने फ़ंडरेज़िंग प्लेटफ़ॉर्म को GiveWP से Charitable पर स्विच करने के बारे में सोच रहे हैं, लेकिन अपना डेटा खोने का जोखिम नहीं उठाना चाहते या स्वयं एक जटिल तकनीकी सेटअप को संभालना नहीं चाहते? Charitable की व्हाइट ग्लोव माइग्रेशन सेवा में शामिल हैं:

👥 निर्दोष डोनर मैपिंग: शून्य डेटा हानि के साथ अपने पूरे समर्थक डेटाबेस को सुरक्षित रूप से स्थानांतरित करें।

📊 पूर्ण वित्तीय इतिहास: निरंतर, सटीक रिपोर्टिंग के लिए हर ऐतिहासिक लेनदेन को सावधानीपूर्वक संरक्षित करें।

🔄 निर्बाध आवर्ती दान: अपने आने वाले राजस्व को बाधित किए बिना या अपने दाताओं को अपनी जानकारी अपडेट करने की आवश्यकता के बिना सक्रिय स्थायी सब्सक्रिप्शन को सुरक्षित रूप से स्थानांतरित करें।

💳 शून्य गेटवे व्यवधान: स्ट्राइप, पेपाल, या किसी अन्य GiveWP-संगत प्रोसेसर का उपयोग करना जारी रखें जिसे आप पहले से ही पसंद करते हैं।

🚀 विशेषज्ञ तकनीकी सेटअप: जब हमारी टीम आपके फ़ॉर्म को इंस्टॉल और कॉन्फ़िगर करने का भारी काम संभालती है तो आराम करें—साथ ही, योग्य उपयोगकर्ताओं को Charitable Pro का पूरा साल पूरी तरह से मुफ़्त मिलता है।

अधिक जानने के लिए इस पृष्ठ पर जाएँ

लेखक अवतार
एरिक डाम्स
ऑटोमेशन सुधार

📢 नई सुविधा अलर्ट: ऑटोमेशन कनेक्ट 2.0 यहाँ है! 🚀

अपने फ़ंडरेज़िंग डेटा को Mailchimp, Slack, या Google Sheets जैसे टूल से जोड़ने के बारे में सोच रहे हैं, लेकिन डेवलपर को काम पर नहीं रखना चाहते या कस्टम कोड नहीं लिखना चाहते? Charitable के नए ऑटोमेशन ऐडऑन में है:

⚡ 17 इवेंट ट्रिगर: डोनर के पहले उपहार, नवीनीकरण भुगतान, या अभियान मील के पत्थर तक पहुंचने के लिए तुरंत वेबहुक फायर करें।

🎯 स्मार्ट कंडीशनल लॉजिक: केवल तभी डेटा भेजने के लिए 11 फ़ील्ड में शक्तिशाली AND/OR लॉजिक का उपयोग करें जब यह आपकी सटीक शर्तों को पूरा करता हो, जैसे न्यूज़लेटर ऑप्ट-इन।

📊 कस्टम पेलोड नियंत्रण: डोनर, दान और अभियान मेटाडेटा में 80+ क्लीन डेटा फ़ील्ड में से चुनें ताकि आपके ऐप्स को वही मिले जिसकी उन्हें आवश्यकता है।

🚀 प्री-बिल्ट प्लेटफ़ॉर्म टेम्प्लेट: Zapier, Make.com, n8n, HubSpot, और Slack के लिए तैयार टेम्प्लेट के साथ स्क्रैच से सेटअप छोड़ें।

🛡️ विश्वसनीय डेवलपर टूल: हस्ताक्षरित HMAC-SHA256 पेलोड, पूर्ण वर्डप्रेस फ़िल्टर और स्वचालित पुनः प्रयास लॉग के साथ अपने वर्कफ़्लो को पावर दें।

लेखक अवतार
एरिक डाम्स
ऑटोमेशन सुधार

🔌 चैरिटेबल ज़ैपियर से जुड़ता है: 7,000+ ऐप्स से कनेक्ट करें और अपने धन उगाहने को स्वचालित करें

दान डेटा को मैन्युअल रूप से अकाउंटिंग शीट में कॉपी करने या नए दाता साइनअप को ट्रैक करने से थक गए हैं? अपने प्रशासनिक कार्यों को ऑटोपायलट पर रखें। चैरिटेबल अब आधिकारिक तौर पर ज़ैपियर पर है, जो आपको अपने धन उगाहने को सीधे अपने पसंदीदा टूल के बाकी हिस्सों में प्लग करने का एक शक्तिशाली, नो-कोड तरीका प्रदान करता है।

हर दान, दाता साइनअप, और अभियान मील का पत्थर अब निर्बाध रूप से एक स्वचालित वर्कफ़्लो को ट्रिगर कर सकता है।

नई क्या है:

♾️ 7,000+ ऐप्स से कनेक्ट करें: अपने चैरिटेबल अभियानों को Google Sheets, QuickBooks, Slack, Mailchimp, HubSpot, Notion, Airtable, और हजारों अन्य जैसे रोजमर्रा के सॉफ़्टवेयर के साथ ब्रिज करें।

⚡ 12 शक्तिशाली ट्रिगर: संपूर्ण दान जीवनचक्र को कवर करने वाले स्मार्ट ऑटोमेशन ट्रिगर का उपयोग करके गहन वर्कफ़्लो बनाएं—जिसमें नया दान, नया दाता, सदस्यता रद्द, और अभियान लक्ष्य तक पहुंचना शामिल है।

📋 पूर्व-निर्मित एक्शन टेम्प्लेट: हमारे पूर्व-निर्मित टेम्प्लेट संयोजनों के साथ तीन मिनट या उससे कम समय में शुरुआत करें, जैसे कि Google शीट में सीधे नए दान लॉग करना या Gmail के माध्यम से कस्टम दाता स्वागत ईमेल भेजना।

🚫 किसी कोड की आवश्यकता नहीं: किसी जटिल वेबहुक या कस्टम PHP स्क्रिप्ट की आवश्यकता नहीं है। बस अपना ट्रिगर चुनें, अपना ऐप चुनें, अपने फ़ील्ड मैप करें, और ज़ैपियर को भारी काम करने दें।

एडमिन समय के घंटों को बचाने के लिए तैयार हैं? आज ही ऑटोमेशन कनेक्ट एडऑन के साथ चैरिटेबल प्रो प्राप्त करें और अपना पहला ज़ैप लॉन्च करें!

लेखक अवतार
एरिक डाम्स
सुधार भुगतान

🚀 पेपैल कॉमर्स का परिचय: एक कनेक्शन, दान करने के छह तरीके

दानकर्ता जब किसी कारण का समर्थन करते हैं तो आधुनिक, लचीले भुगतान विकल्पों की उम्मीद करते हैं। यदि वे आपके दान फ़ॉर्म पर अपनी पसंदीदा विधि नहीं देखते हैं, तो वे अक्सर बिना कुछ कहे चले जाते हैं। पेपैल कॉमर्स के साथ, हम आपके अभियानों में एक पूरी तरह से आधुनिक चेकआउट अनुभव ला रहे हैं।

एक एकल एकीकरण का आनंद लें जो आपके फ़ॉर्म को अपग्रेड करता है, दान को निर्बाध बनाता है, और आपको हर एक दान को कैप्चर करने में मदद करता है।

नई क्या है:

🔌 एक-क्लिक कनेक्शन: गंदे एपीआई कुंजी और डेवलपर दस्तावेज़ों को छोड़ें। बस "पेपैल से कनेक्ट करें" पर क्लिक करें, अपने व्यवसाय खाते में साइन इन करें, और आपका आधुनिक फ़ॉर्म पांच मिनट से भी कम समय में लाइव हो जाएगा।

💳 देने के छह तरीके: अपने समर्थकों को पेपैल बैलेंस, वेन्मो (यूएस), पे लेटर फाइनेंसिंग, प्रमुख क्रेडिट/डेबिट कार्ड, एप्पल पे (सफारी), और गूगल पे (क्रोम) सभी एक ही फ़ॉर्म से तुरंत एक्सेस दें।

🔄 लचीला आवर्ती दान: मासिक दान का पूरी तरह से समर्थन करता है। पेपैल सब्सक्रिप्शन एपीआई (पेपैल के अंत में स्वचालित रूप से संभाला जाता है) या वॉल्ट + क्रॉन (सीधे आपकी साइट पर सुरक्षित रूप से संभाला जाता है) के बीच चयन करें।

💬 अनुकूल त्रुटि रिकवरी: कोई और भ्रमित करने वाले ब्राउज़र अलर्ट नहीं। यदि कोई भुगतान अस्वीकृत हो जाता है, तो दानकर्ताओं को सादे-भाषा, इनलाइन संदेश दिखाई देते हैं जो उन्हें समस्या को ठीक करने और अपना उपहार पूरा करने के तरीके के बारे में मार्गदर्शन करते हैं।

पेपैल के लिए तैयार हैं, आधुनिक? चैरिटेबल प्रो 1.8.15+ (या चैरिटेबल लाइट 1.8.11+) में अपडेट करें और आज ही अपना खाता कनेक्ट करें!

लेखक अवतार
एरिक डाम्स