Chitsogozo cha Kugwiritsa Ntchito Hooks
Ultimate Multisite imapereka ma action hooks 200+ ndi ma filter hooks 280+. Tsambali likufotokoza ma hooks omwe amagwiritsidwa ntchito kwambiri ndi zitsanzo zothandiza. Kuti muwone buku lathunthu lopangidwa lokha, sakatulani masamba ena mu gawo ili.
Action Hooks
Moyo wa Kasitomala
Pambuyo Popanga Kasitomala
/**
* @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!'
);
});
Kusintha kwa Udindo wa Kasitomala
/**
* @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);
Hooks a Tsamba
Pambuyo Posindikiza Tsamba
/**
* @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);
Musanayambe Kugwiritsa Ntchito 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);
Hooks a Membership
Kusintha kwa Maudindo
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();
}
});
Hooks a Payment
Payment Yamalizidwa / Yalephera
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);
Hooks a Checkout
Musanayambe Kukonza / Pambuyo Pomaliza
/**
* @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);
Hooks a Domain
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
Zosefera za Mitengo
Chiwerengero Chonse cha 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);
Tax Rates
add_filter('wu_tax_rate', function($rate, $country, $state) {
if ($country === 'US' && $state === 'CA') {
return 0.0875;
}
return $rate;
}, 10, 3);
Zosefera za Template
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);
Zosefera za Malire
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);
Zosefera za Gateway
add_filter('wu_available_gateways', function($gateways, $cart) {
if ($cart->get_total() > 1000) {
unset($gateways['paypal']);
}
return $gateways;
}, 10, 2);
Ma Field a Fomu ya Checkout
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);
Zomwe Zili mu Imelo
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);