|
@@ -74,25 +74,25 @@ Navigate to **Products > Free Photo Files** to manage uploaded files.
|
|
|
### Features
|
|
### Features
|
|
|
|
|
|
|
|
- Filter by status (Ready / Downloaded / Solved), product, or file name search
|
|
- Filter by status (Ready / Downloaded / Solved), product, or file name search
|
|
|
-- Inline status change per file
|
|
|
|
|
-- Single file download link
|
|
|
|
|
|
|
+- Inline status change per file via dropdown
|
|
|
|
|
+- Single file download (automatically marks status as "downloaded" if currently "ready")
|
|
|
- Single file delete with media attachment cleanup
|
|
- Single file delete with media attachment cleanup
|
|
|
-- Bulk actions: Download as ZIP, Set Status, Delete
|
|
|
|
|
|
|
+- Bulk actions with confirmation dialogs: Download as ZIP, Set Status (Ready / Downloaded / Solved), Delete
|
|
|
- Order number links (HPOS-compatible)
|
|
- Order number links (HPOS-compatible)
|
|
|
- Customer name display
|
|
- Customer name display
|
|
|
-- Pagination (30 files per page)
|
|
|
|
|
|
|
+- Pagination (30 files per page, preserves active filters across pages)
|
|
|
|
|
|
|
|
### File Statuses
|
|
### File Statuses
|
|
|
|
|
|
|
|
| Status | Meaning |
|
|
| Status | Meaning |
|
|
|
|---|---|
|
|
|---|---|
|
|
|
| Ready | File uploaded, awaiting processing |
|
|
| Ready | File uploaded, awaiting processing |
|
|
|
-| Downloaded | File has been downloaded by admin |
|
|
|
|
|
|
|
+| Downloaded | File has been downloaded by admin (set automatically on download) |
|
|
|
| Solved | File has been printed / order fulfilled |
|
|
| Solved | File has been printed / order fulfilled |
|
|
|
|
|
|
|
|
## Cart and Order Integration
|
|
## Cart and Order Integration
|
|
|
|
|
|
|
|
-The plugin integrates with WooCommerce's native add-to-cart flow using WC session storage. When a photo is uploaded, the file reference is stored in the WC session via AJAX. When any add-to-cart button is clicked, `woocommerce_add_cart_item_data` reads the file data from the session and attaches it to the cart item. The session data is cleared after use. The `woocommerce_add_to_cart_validation` filter ensures a photo is uploaded before the item can be added. This approach works with any theme or plugin that handles variable product display (individual variation buttons, dropdowns, tables, etc.).
|
|
|
|
|
|
|
+The plugin integrates with WooCommerce's native add-to-cart flow using WC session storage. When a photo is uploaded, the file reference is stored in the WC session via AJAX. When any add-to-cart button is clicked, `woocommerce_add_cart_item_data` reads the file data from the session and attaches it to the cart item. The session persists so the same photo can be reused for multiple variants. The `woocommerce_add_to_cart_validation` filter ensures a photo is uploaded before the item can be added. This approach works with any theme or plugin that handles variable product display (individual variation buttons, dropdowns, tables, etc.).
|
|
|
|
|
|
|
|
When a customer adds a photo product to the cart:
|
|
When a customer adds a photo product to the cart:
|
|
|
- The cart item thumbnail shows the uploaded photo — works with both **classic cart** (`woocommerce_cart_item_thumbnail` filter) and **block cart** (`woocommerce_product_get_image_id` / `woocommerce_product_variation_get_image_id` filters that override the product image for the Store API)
|
|
- The cart item thumbnail shows the uploaded photo — works with both **classic cart** (`woocommerce_cart_item_thumbnail` filter) and **block cart** (`woocommerce_product_get_image_id` / `woocommerce_product_variation_get_image_id` filters that override the product image for the Store API)
|
|
@@ -100,7 +100,7 @@ When a customer adds a photo product to the cart:
|
|
|
- On checkout, the file record is linked to the order and order item
|
|
- On checkout, the file record is linked to the order and order item
|
|
|
- In the order admin, order item thumbnails show the uploaded photo instead of the product image
|
|
- In the order admin, order item thumbnails show the uploaded photo instead of the product image
|
|
|
- The uploaded photo file name appears as order item metadata
|
|
- The uploaded photo file name appears as order item metadata
|
|
|
-- A **Download uploaded photo** button with the original file name is shown below the order item meta in admin
|
|
|
|
|
|
|
+- A **Download uploaded photo** button with the original file name is shown below the order item meta in admin (downloading automatically marks the file status as "downloaded")
|
|
|
- Files linked to orders cannot be removed by the customer
|
|
- Files linked to orders cannot be removed by the customer
|
|
|
|
|
|
|
|
## Media Categories
|
|
## Media Categories
|
|
@@ -239,6 +239,7 @@ studiou-wc-free-photo-product/
|
|
|
| `_studiou_fpp_attachment_id` | WP attachment ID |
|
|
| `_studiou_fpp_attachment_id` | WP attachment ID |
|
|
|
| `_studiou_fpp_file_record_id` | File record ID in custom table |
|
|
| `_studiou_fpp_file_record_id` | File record ID in custom table |
|
|
|
| `_studiou_fpp_file_name` | Original file name |
|
|
| `_studiou_fpp_file_name` | Original file name |
|
|
|
|
|
+| `_studiou_fpp_thumb_url` | Thumbnail URL (for reliable display) |
|
|
|
|
|
|
|
|
## License
|
|
## License
|
|
|
|
|
|