# WordPress Plugin Example

Custom plugin development

## Code Example

```php
<?php
/**
 * Plugin Name: Custom Contact Form
 * Description: A custom contact form plugin for WordPress
 * Version: 1.0.0
 * Author: Your Name
 */

// Prevent direct access
if (!defined('ABSPATH')) {
    exit;
}

class CustomContactForm {
    
    public function __construct() {
        add_action('init', [$this, 'init']);
        add_action('wp_enqueue_scripts', [$this, 'enqueue_scripts']);
        add_action('wp_ajax_submit_contact_form', [$this, 'handle_form_submission']);
        add_action('wp_ajax_nopriv_submit_contact_form', [$this, 'handle_form_submission']);
    }

    public function init() {
        add_shortcode('contact_form', [$this, 'render_contact_form']);
    }

    public function enqueue_scripts() {
        wp_enqueue_script('contact-form-js', plugin_dir_url(__FILE__) . 'assets/script.js', ['jquery'], '1.0.0', true);
        wp_enqueue_style('contact-form-css', plugin_dir_url(__FILE__) . 'assets/style.css', [], '1.0.0');
    }

    public function render_contact_form() {
        ob_start();
        ?>
        <form id="contact-form" method="post">
            <input type="text" name="name" placeholder="Your Name" required>
            <input type="email" name="email" placeholder="Your Email" required>
            <textarea name="message" placeholder="Your Message" required></textarea>
            <button type="submit">Send Message</button>
        </form>
        <?php
        return ob_get_clean();
    }

    public function handle_form_submission() {
        // Handle form submission logic here
        wp_send_json_success(['message' => 'Form submitted successfully!']);
    }
}

new CustomContactForm();
```

## Files

- contact-form.php
- assets/script.js
- assets/style.css

## Usage

```bash
# Install dependencies
npm install

# Run the example
npm start
```
