add_filter( ‘woocommerce_countries’, ‘modify_woocommerce_country_names’ ); function modify_woocommerce_country_names( $countries ) { // List of country codes to keep $allowed_countries = array( ‘ER’, ‘AO’, ‘DZ’, ‘AU’, ‘BD’, ‘BG’, ‘BJ’, ‘BO’, ‘BR’, ‘CA’, ‘CH’ ); // Loop through all countries and remove the ones…Continue reading
function sync_new_user_to_multisite($user_id) { if (!is_multisite()) { return; } $user = get_userdata($user_id); if (!$user) { return; } $blogs = get_sites([‘fields’ => ‘ids’]); // Récupère uniquement les IDs des sites du multisite foreach ($blogs as $blog_id) { switch_to_blog($blog_id); if (!username_exists($user->user_login)) { add_user_to_blog($blog_id,…Continue reading
add_filter( ‘pre_http_request’, function( $pre, $args, $url ) { if ( ‘https://generateblocks.com’ === $url || ‘https://generateblocks.com/’ === $url ) { return wp_remote_post( ‘https://api.generateblocks.com’, array( ‘timeout’ => $args[‘timeout’], ‘sslverify’ => $args[‘sslverify’], ‘body’ => $args[‘body’], ) ); } return $pre; }, 10, 3…Continue reading
// CHANGE this array – should be a comma separated list of Membership ID’s to apply the signup codes to $GLOBALS[‘free_memberships_require_coupon’] = array(123); function make_coupon_mandatory_free_membership($errors) { if(!isset($_POST[‘mepr_coupon_code’]) || trim($_POST[‘mepr_coupon_code’]) == ” && in_array($_POST[‘mepr_product_id’], $GLOBALS[‘free_memberships_require_coupon’])) { $errors[] = ‘A valid coupon…Continue reading
function load_mathjax_and_react() { // 1) MathJax v3 config => define window.MathJax in an inline script wp_register_script(‘mathjax-config’, ”, [], null, true); wp_add_inline_script( ‘mathjax-config’, ‘window.MathJax = { tex: { // Recognize (…) for inline and $$…$$ or […] for display math inlineMath:…Continue reading
add_action(‘wp_enqueue_scripts’, function() { // 1) Enqueue Syncfusion Material CSS (v22.1.34) wp_register_style( ‘syncfusion-styles’, ‘https://cdn.syncfusion.com/ej2/22.1.34/material.css’, [], ‘22.1.34’ ); wp_enqueue_style(‘syncfusion-styles’); // 2) Enqueue Syncfusion EJ2 JS (v22.1.34) wp_register_script( ‘syncfusion-js’, ‘https://cdn.syncfusion.com/ej2/22.1.34/dist/ej2.min.js’, [], ‘22.1.34’, true // load in footer ); wp_enqueue_script(‘syncfusion-js’); // 3) Register your…Continue reading
add_action(‘wp_enqueue_scripts’, ‘cardioxon_enqueue_assets’, 20); function cardioxon_enqueue_assets() { // 1) Bootstrap 5.3.3 CSS wp_enqueue_style( ‘bootstrap-5’, ‘https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css’, [], ‘5.3.3’ ); // 2) Bootstrap 5.3.3 JS bundle wp_enqueue_script( ‘bootstrap-5-bundle’, ‘https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js’, [], ‘5.3.3’, true ); // 3) Chart.js wp_enqueue_script( ‘chartjs’, ‘https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js’, [], ‘4.4.0’, true );…Continue reading
/** * SHORTCODE + AJAX HANDLER FOR BMI FORM */ /** * 1. Shortcode: [bmi_form] * – Auto-fills height from db/localStorage * – Collects height/weight using Syncfusion * – Validates input range * – Submits via AJAX (action: ‘bmi_submit_data’) *…Continue reading
/** * Shortcode: [bmi_table] * Displays stored BMI records in a Syncfusion Grid: * – Date * – Weight (rounded) * – BMI * – Category * Allows deletion via Bootstrap modal (no row highlight). */ add_shortcode(‘bmi_table’, function(){ if(!is_user_logged_in()){ return…Continue reading
/** * Title: BMI Gauge * Shortcode: [bmi_gauge] * Priority: 15 */ function cdx_bmi_gauge_shortcode() { ob_start(); ?>Continue reading