/** * Plugin Name: CVD Risk Assessment * Description: Shortcode [cvd_risk_assessment] with a gauge, “Calculating” status, integer display for HDL/TC/eGFR, and delegated Refresh. * Version: 1.0 */ // 1) AJAX Handler (requires login) add_action(‘wp_ajax_get_cvd_data’,’handle_get_cvd_data’); function handle_get_cvd_data(){ if(!is_user_logged_in()){ wp_send_json_error([‘message’=>’Not logged in’]);…Continue reading
add_action(‘admin_init’, ‘restrict_product_creation’); function restrict_product_creation() { $product_count = wp_count_posts(‘product’)->publish; if ($product_count >= 10) { add_action(‘admin_footer’, function() { echo ‘ ‘; }); add_filter(‘wp_insert_post_data’, function($data, $postarr) { if ($data[‘post_type’] === ‘product’ && $data[‘post_status’] !== ‘trash’) { wp_die(‘You have reached the maximum limit of…Continue reading
/** * Plugin Name: Hemodynamic Vitals Plugin * Description: Provides [hemo_form] and [hemo_table] shortcodes to collect and display blood pressure & heart rate, with Bootstrap alerts and Syncfusion table. * Version: 1.0 */ if(!defined(‘ABSPATH’)){ exit; } /********************************************************* * BLOCK 1…Continue reading
/********************************************************* * BLOCK 2 * Additional shortcodes: [bp_stage_syncfusion], [bp_chart], [bp_interpretation] * plus a helper function => bp_get_latest_reading() *********************************************************/ /** * HELPER => bp_get_latest_reading() * Returns { systolic, diastolic } or null if none found */ if(!function_exists(‘bp_get_latest_reading’)){ function bp_get_latest_reading(){ if(!is_user_logged_in()) return…Continue reading
use PODeviceDetector\API\Device; $test = true; $remove = true;Continue reading
function restrict_bp_members_directory() { if (function_exists(‘bp_is_members_directory’) && bp_is_members_directory() && !current_user_can(‘administrator’)) { wp_redirect(home_url()); // Redirige vers la page d’accueil exit; } } add_action(‘bp_template_redirect’, ‘restrict_bp_members_directory’);Continue reading
function bulk_update_shipping_zones_vayots_dzor() { global $wpdb; // Define the shipping zones and their corresponding state codes $zones = array( ‘Ագարակաձոր’ => [‘code’ => ‘AG1’, ‘price’ => 9600], ‘Ազատեկ’ => [‘code’ => ‘AR2’, ‘price’ => 11600], ‘Ախտա’ => [‘code’ => ‘AI3’, ‘price’…Continue reading
.payment-plans { margin-top: 20px; padding: 15px; background-color: #fff; border: 1px solid #ddd; border-radius: 8px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; } .payment-plans h3 { font-size: 20px; font-weight: bold; margin-bottom: 10px; color: #333; width: 100%; text-align: center; } .payment-plan…Continue reading
// Register a shortcode to display payment plans with minimalistic design add_shortcode(‘pedro_payment_plans’, ‘pedro_display_payment_plans’); function pedro_display_payment_plans() { // Get the global product object global $product; // Ensure $product is valid if (!$product || !is_a($product, ‘WC_Product’)) { return ”; // Return nothing…Continue reading
function custom_override_woocommerce_states( $states ) { // Override ‘AO’ states Արարատ. $states[‘AO’] = array( ‘AO1’ => __( ‘Ագարակ’, ‘woocommerce’ ), ‘AO2’ => __( ‘Ագարակավան’, ‘woocommerce’ ), ‘AO3’ => __( ‘Ալագյազ’, ‘woocommerce’ ), ‘AO4’ => __( ‘Ակունք’, ‘woocommerce’ ), ‘AO5’ => __(…Continue reading