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);