I'll help you create a WordPress plugin for a Loan EMI Calculator. Here's the complete implementation:
## 1. Main Plugin File (loan-emi-calculator.php)
```php
admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('emi_calculator_nonce')
)
);
// Enqueue FontAwesome
wp_enqueue_style(
'font-awesome',
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css',
array(),
'6.0.0'
);
}
public function emi_calculator_shortcode() {
ob_start();
?>
0) {
$emi = ($loan_amount * $monthly_interest_rate * pow(1 + $monthly_interest_rate, $loan_tenure)) /
(pow(1 + $monthly_interest_rate, $loan_tenure) - 1);
} else {
$emi = $loan_amount / $loan_tenure;
}
$total_amount = $emi * $loan_tenure;
$total_interest = $total_amount - $loan_amount;
// Return results
wp_send_json_success(array(
'monthly_emi' => number_format($emi, 2),
'total_interest' => number_format($total_interest, 2),
'total_amount' => number_format($total_amount, 2)
));
}
}
// Initialize the plugin
new LoanEMICalculator();
?>
```
## 2. CSS File (css/style.css)
```css
.emi-calculator-container {
max-width: 500px;
margin: 20px auto;
padding: 25px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.emi-calculator-header h3 {
color: white;
text-align: center;
margin-bottom: 25px;
font-size: 24px;
font-weight: 600;
}
.emi-calculator-header i {
margin-right: 10px;
}
.emi-calculator-form {
background: white;
padding: 25px;
border-radius: 12px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #2d3748;
}
.form-group input,
.form-group select {
width: 100%;
padding: 12px;
border: 2px solid #e2e8f0;
border-radius: 8px;
font-size: 16px;
transition: border-color 0.3s ease;
}
.form-group input:focus,
.form-group select:focus {
outline: none;
border-color: #667eea;
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
.tenure-options {
display: flex;
gap: 10px;
}
.tenure-options input {
flex: 2;
}
.tenure-options select {
flex: 1;
}
.emi-calculate-btn {
width: 100%;
padding: 15px
Abid Bukhari
0
Post a Comment