Skip to main content

Hooks ବ୍ୟବହାର ମାର୍ଗଦର୍ଶିକା

Ultimate Multisite ୨୦୦ରୁ ଅଧିକ action hooks ଏବଂ ୨୮୦ରୁ ଅଧିକ filter hooks ପ୍ରଦାନ କରେ। ଏହି ପୃଷ୍ଠାରେ ବ୍ୟବହାରିକ ଉଦାହରଣ ସହ ସବୁଠାରୁ ସାଧାରଣଭାବେ ବ୍ୟବହୃତ hooks ଆଲୋଚନା କରାଯାଇଛି। ସମ୍ପୂର୍ଣ୍ଣ ସ୍ୱୟଂଚାଳିତ ଭାବେ ସୃଷ୍ଟ reference ପାଇଁ, ଏହି ଖଣ୍ଡର ଅନ୍ୟ ପୃଷ୍ଠାଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ।

Action Hooks

ଗ୍ରାହକ ଜୀବନଚକ୍ର

ଗ୍ରାହକ ସୃଷ୍ଟି ପରେ

/**
* @param WP_Ultimo\Models\Customer $customer
*/
add_action('wu_customer_post_create', function($customer) {
wp_mail(
$customer->get_email(),
'Welcome!',
'Thanks for joining our platform!'
);
});

ଗ୍ରାହକ ସ୍ଥିତି ପରିବର୍ତ୍ତନ

/**
* @param WP_Ultimo\Models\Customer $customer
* @param string $old_status
* @param string $new_status
*/
add_action('wu_customer_status_change', function($customer, $old_status, $new_status) {
// React to status transitions
}, 10, 3);

Site Hooks

Site ପ୍ରକାଶିତ ହେବା ପରେ

/**
* @param WP_Ultimo\Models\Site $site
* @param WP_Ultimo\Models\Membership $membership
*/
add_action('wu_site_published', function($site, $membership) {
switch_to_blog($site->get_id());
activate_plugin('essential-plugin/essential-plugin.php');
restore_current_blog();
}, 10, 2);

Template ପ୍ରୟୋଗ ପୂର୍ବରୁ

/**
* @param int $site_id
* @param int $template_id
*/
add_action('wu_before_apply_template', function($site_id, $template_id) {
switch_to_blog($site_id);

if ($template_id === 5) {
update_option('woocommerce_store_setup', 'complete');
}

restore_current_blog();
}, 10, 2);

Membership Hooks

ସ୍ଥିତି ପରିବର୍ତ୍ତନ

add_action('wu_membership_status_to_active', function($membership) {
// Membership activated
});

add_action('wu_membership_status_to_expired', function($membership) {
$sites = $membership->get_sites();
foreach ($sites as $site) {
$site->set_status('suspended');
$site->save();
}
});

Payment Hooks

Payment ସମ୍ପୂର୍ଣ୍ଣ / ବିଫଳ

add_action('wu_payment_completed', function($payment) {
// Handle successful payment
});

add_action('wu_payment_failed', function($payment, $error_message) {
$admin_email = get_option('admin_email');
wp_mail(
$admin_email,
'Payment Failed',
sprintf('Payment #%d failed: %s', $payment->get_id(), $error_message)
);
}, 10, 2);

Checkout Hooks

ପ୍ରକ୍ରିୟାକରଣ ପୂର୍ବରୁ / ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପରେ

/**
* @param WP_Ultimo\Checkout\Cart $cart
*/
add_action('wu_checkout_before_processing', function($cart) {
// Validate or modify cart before processing
});

/**
* @param WP_Ultimo\Models\Payment $payment
* @param WP_Ultimo\Models\Customer $customer
* @param WP_Ultimo\Models\Membership $membership
*/
add_action('wu_checkout_completed', function($payment, $customer, $membership) {
// Track conversion, send notifications, etc.
}, 10, 3);

Domain Hooks

add_action('wu_domain_mapped', function($domain) {
// Update CDN or DNS configuration
});

add_action('wu_domain_ssl_verified', function($domain) {
// SSL certificate verified for domain
});

Filter Hooks

ମୂଲ୍ୟ ନିର୍ଦ୍ଧାରଣ Filters

Cart ମୋଟ

add_filter('wu_cart_total', function($total, $cart) {
$customer = $cart->get_customer();

if ($customer && $customer->is_vip()) {
$total = $total * 0.9; // 10% VIP discount
}

return $total;
}, 10, 2);

କର ହାର

add_filter('wu_tax_rate', function($rate, $country, $state) {
if ($country === 'US' && $state === 'CA') {
return 0.0875;
}

return $rate;
}, 10, 3);

Template Filters

add_filter('wu_available_templates', function($templates, $customer) {
if (!$customer->is_vip()) {
foreach ($templates as $key => $template) {
if ($template['category'] === 'premium') {
unset($templates[$key]);
}
}
}

return $templates;
}, 10, 2);

ସୀମାବଦ୍ଧତା Filters

add_filter('wu_limitation_feature_allowed', function($allowed, $site_id, $membership) {
if ($membership->get_customer()->is_vip()) {
return true;
}

return $allowed;
}, 10, 3);

add_filter('wu_disk_space_limit', function($limit, $site_id, $membership) {
if ($membership->get_days_active() > 365) {
$limit += 500; // Extra 500MB for long-term customers
}

return $limit;
}, 10, 3);

Gateway Filters

add_filter('wu_available_gateways', function($gateways, $cart) {
if ($cart->get_total() > 1000) {
unset($gateways['paypal']);
}

return $gateways;
}, 10, 2);

Checkout Form Fields

add_filter('wu_checkout_form_final_fields', function($fields, $form) {
$fields['company'] = [
'type' => 'text',
'title' => 'Company Name',
'required' => true,
'placeholder' => 'Enter company name'
];

return $fields;
}, 10, 2);

Email Content

add_filter('wu_email_content', function($content, $type, $customer) {
if ($type === 'welcome') {
$content .= "\n\nSpecial offer: Use code WELCOME10 for 10% off!";
}
return $content;
}, 10, 3);