jknapp 6d86d5ef4f Update documentation to reflect recent bug fixes and improvements
Added comprehensive documentation for:
- Download limits default fix (unlimited downloads)
- Enhanced license key display with FontAwesome icons
- Software license filename sanitization implementation
- Technical architecture discoveries for file handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-09 19:04:07 -07:00
2025-08-29 18:54:14 -07:00
2025-08-29 18:54:14 -07:00
2025-08-29 18:54:14 -07:00
2025-08-29 18:54:14 -07:00
2025-08-29 18:54:14 -07:00
2025-08-28 19:35:28 -07:00
2025-08-29 18:54:14 -07:00
2025-08-28 19:35:28 -07:00
2025-08-28 19:35:28 -07:00
2025-08-28 19:35:28 -07:00
2025-08-28 19:35:28 -07:00

WP Digital Download

A comprehensive WordPress plugin for creating a digital download marketplace where creators can sell digital products with PayPal integration.

Features

Core Functionality

  • Custom Post Type: Products with rich metadata
  • User Roles: Separate roles for customers and creators
  • File Management: Secure file upload and protection
  • PayPal Integration: Complete payment processing
  • Download Protection: Secure, time-limited downloads
  • Watermarking: Automatic watermarking for images and PDFs
  • Purchase History: Customer account management
  • Admin Dashboard: Complete order and sales management

Key Components

Custom Post Types

  • wpdd_product: Digital products with pricing, files, and settings
  • Product Categories & Tags: Organization and filtering
  • Creator Attribution: Products linked to their creators

User Management

  • Digital Customer Role: Purchase and download permissions
  • Digital Creator Role: Product management permissions
  • Admin Capabilities: Full system management

Payment Processing

  • PayPal Integration: Sandbox and live modes
  • Free Products: No-payment downloads
  • Guest Checkout: Optional account creation
  • Order Management: Complete transaction tracking

File Protection

  • Protected Directory: Files stored outside web root access
  • Secure Downloads: Token-based download links
  • Download Limits: Configurable per product
  • Expiry Dates: Time-limited access

Watermarking

  • Image Watermarking: PNG, JPG, GIF support
  • PDF Watermarking: Text overlay on PDF files
  • Dynamic Content: Customer info in watermarks
  • Configurable Settings: Per-product control

Installation

  1. Upload the plugin files to /wp-content/plugins/wp-digital-download/
  2. Activate the plugin through the WordPress admin
  3. Configure PayPal settings in Digital Products > Settings
  4. Create your first product
  5. Add the shop shortcode [wpdd_shop] to a page

Configuration

PayPal Setup

  1. Create a PayPal Developer account
  2. Create a new application
  3. Get Client ID and Secret
  4. Configure in Settings > PayPal Settings

Pages Setup

The plugin automatically creates these pages:

  • Shop: [wpdd_shop] - Product listing
  • Checkout: [wpdd_checkout] - Payment processing
  • My Purchases: [wpdd_customer_purchases] - Customer downloads
  • Thank You: [wpdd_thank_you] - Order confirmation

Shortcodes

Main Shortcodes

  • [wpdd_shop] - Display product storefront
  • [wpdd_customer_purchases] - Customer purchase history
  • [wpdd_checkout] - Checkout form
  • [wpdd_thank_you] - Thank you page
  • [wpdd_product id="123"] - Single product display

Shop Shortcode Options

[wpdd_shop columns="3" per_page="12" category="design" orderby="date" order="DESC" show_filters="yes"]

Database Structure

Tables Created

  • wp_wpdd_orders - Purchase records
  • wp_wpdd_downloads - Download tracking
  • wp_wpdd_download_links - Secure download tokens

Key Meta Fields

  • _wpdd_price - Product price
  • _wpdd_sale_price - Sale price
  • _wpdd_is_free - Free product flag
  • _wpdd_files - Associated files
  • _wpdd_download_limit - Download restrictions
  • _wpdd_download_expiry - Access duration
  • _wpdd_enable_watermark - Watermark settings
  • _wpdd_sales_count - Sales tracking

File Structure

wp-digital-download/
├── wp-digital-download.php          # Main plugin file
├── includes/                        # Core functionality
│   ├── class-wpdd-install.php      # Installation routines
│   ├── class-wpdd-post-types.php   # Custom post types
│   ├── class-wpdd-roles.php        # User roles
│   ├── class-wpdd-metaboxes.php    # Product editing
│   ├── class-wpdd-shortcodes.php   # Frontend display
│   ├── class-wpdd-paypal.php       # Payment processing
│   ├── class-wpdd-download-handler.php # File delivery
│   ├── class-wpdd-customer.php     # Customer management
│   ├── class-wpdd-orders.php       # Order processing
│   ├── class-wpdd-file-protection.php # Security
│   ├── class-wpdd-watermark.php    # Image processing
│   └── class-wpdd-ajax.php         # AJAX handlers
├── admin/                          # Admin interface
│   ├── class-wpdd-admin.php       # Admin pages
│   └── class-wpdd-settings.php    # Configuration
└── assets/                         # Frontend resources
    ├── css/
    │   ├── frontend.css           # Public styling
    │   └── admin.css              # Admin styling
    └── js/
        ├── frontend.js            # Public scripts
        ├── admin.js               # Admin scripts
        └── paypal.js              # Payment integration

Hooks & Filters

Actions

  • wpdd_order_completed - Fired when order is completed
  • wpdd_download_started - Before file delivery
  • wpdd_customer_registered - New customer account

Filters

  • wpdd_product_price - Modify displayed price
  • wpdd_download_url - Customize download URLs
  • wpdd_watermark_text - Modify watermark content
  • wpdd_email_content - Customize email templates

Security Features

File Protection

  • Files stored in protected directory with .htaccess rules
  • Token-based download authentication
  • Time-limited access links
  • IP and user agent logging

Input Validation

  • All user inputs sanitized
  • Nonce verification on forms
  • Capability checks for admin functions
  • SQL injection prevention

Payment Security

  • PayPal webhook verification
  • Transaction ID tracking
  • Duplicate payment prevention
  • Secure credential storage

Customization

Template Override

Create templates in your theme:

your-theme/
└── wpdd-templates/
    ├── single-product.php
    ├── shop.php
    └── checkout.php

CSS Customization

Override default styles:

.wpdd-product-card {
    /* Your custom styles */
}

Adding Payment Methods

Extend payment options by hooking into:

add_action('wpdd_payment_methods', 'add_stripe_payment');

Requirements

  • WordPress 5.0+
  • PHP 7.4+
  • MySQL 5.6+
  • cURL extension
  • GD library (for watermarking)

Changelog

Version 1.0.0

  • Initial release
  • PayPal integration
  • File protection system
  • Watermarking capabilities
  • Customer management
  • Admin dashboard

Support

For support and feature requests, please create an issue in the GitHub repository.

License

This plugin is licensed under the GPL v2 or later.


Note: This plugin handles financial transactions. Always test thoroughly in a development environment before deploying to production.

Description
No description provided
Readme 12 MiB
2025-09-10 13:16:06 +00:00
Languages
PHP 89%
JavaScript 8.3%
CSS 2.4%
Shell 0.3%