I am raw admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('ashuba_calculator_nonce') )); } public function tile_calculator_shortcode($atts) { $atts = shortcode_atts(array( 'title' => 'ASHUBA Tile Calculator', 'theme' => 'default', 'show_pricing' => 'false' ), $atts); ob_start(); include plugin_dir_path(__FILE__) . 'templates/tile-calculator.php'; return ob_get_clean(); } public function cement_calculator_shortcode($atts) { $atts = shortcode_atts(array( 'title' => 'ASHUBA Cement Calculator', 'theme' => 'default' ), $atts); ob_start(); include plugin_dir_path(__FILE__) . 'templates/cement-calculator.php'; return ob_get_clean(); } public function ajax_calculate_tiles() { check_ajax_referer('ashuba_calculator_nonce', 'nonce'); $room_length = floatval($_POST['room_length']); $room_width = floatval($_POST['room_width']); $tile_size = sanitize_text_field($_POST['tile_size']); // Tile specifications $tile_specs = array( '40x40' => array('pieces' => 12, 'coverage' => 1.92), '25x40' => array('pieces' => 15, 'coverage' => 1.50), '30x30' => array('pieces' => 17, 'coverage' => 1.53), '50x50' => array('pieces' => 7, 'coverage' => 1.75), '60x60' => array('pieces' => 4, 'coverage' => 1.44) ); if (!isset($tile_specs[$tile_size])) { wp_die('Invalid tile size'); } $room_area = $room_length * $room_width; $spec = $tile_specs[$tile_size]; $boxes_needed = ceil($room_area / $spec['coverage']); $extra_boxes = ceil($boxes_needed * 0.1); $total_boxes = $boxes_needed + $extra_boxes; $total_tiles = $total_boxes * $spec['pieces']; $response = array( 'success' => true, 'data' => array( 'room_area' => $room_area, 'boxes_needed' => $boxes_needed, 'extra_boxes' => $extra_boxes, 'total_boxes' => $total_boxes, 'total_tiles' => $total_tiles, 'tile_size' => $tile_size ) ); wp_send_json($response); } public function add_admin_menu() { add_options_page( 'ASHUBA Calculators Settings', 'ASHUBA Calculators', 'manage_options', 'ashuba-calculators', array($this, 'admin_page') ); } public function admin_page() { ?>
ASHUBA Calculators Settings
Available Shortcodes
Tile Calculator
🏠 ASHUBA Tile Calculator
Hesabu Vigae Unavyohitaji kwa Chumba Chako
📏 Vipimo vya Chumba
💡 Jumla ya Eneo: 0.00 m²
🎨 Chagua Ukubwa wa Vigae:
📊 Matokeo ya Hesabu
Maboksi Unavyohitaji
--
Jumla ya Vigae
--
Eneo la Chumba
--
Ziada (10%)
--
📈 Uwiano wa Eneo
Kijani = Eneo litakalofunikwa na vigae
💰 Muhtasari wa Gharama (Kwa Muongozoni)
Maboksi ya msingi:
--
Maboksi ya ziada (10%):
--
Jumla ya Maboksi:
--
💡 Kidokezo: Hii ni hesabu ya nadharia. Katika uhalisia, unaweza kuongeza nafasi ya 10-15% kwa ajili ya kupanga na kuhamisha.
🏠 ASHUBA Tile Calculator
Hesabu Vigae Unavyohitaji kwa Chumba Chako
📏 Vipimo vya Chumba
💡 Jumla ya Eneo: 0.00 m²
🎨 Chagua Ukubwa wa Vigae:
📊 Matokeo ya Hesabu
Maboksi Unavyohitaji
--
Jumla ya Vigae
--
Eneo la Chumba
--
Ziada (10%)
--
📈 Uwiano wa Eneo
Kijani = Eneo litakalofunikwa na vigae
💰 Muhtasari wa Gharama (Kwa Muongozoni)
Maboksi ya msingi:
--
Maboksi ya ziada (10%):
--
Jumla ya Maboksi:
--
💡 Kidokezo: Hii ni hesabu ya nadharia. Katika uhalisia, unaweza kuongeza nafasi ya 10-15% kwa ajili ya kupanga na kuhamisha.
Cement Calculator
[ashuba_cement_calculator][ashuba_cement_calculator theme="minimal"]
🏠 ASHUBA Tile Calculator
Hesabu Vigae Unavyohitaji kwa Chumba Chako
📏 Vipimo vya Chumba
🎨 Chagua Ukubwa wa Vigae:
📊 Matokeo ya Hesabu
📈 Uwiano wa Eneo
💰 Muhtasari wa Gharama (Kwa Muongozoni)
Click edit button to change this html