WP Manifestindependent plugin directory
manifest / content / product-plugin-wp

Product Management Plugin

WordPress module built with ACF, with built-in Bazaarvoice integration.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/papik295/product-plugin-wp/archive/refs/heads/develop.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A small WordPress plugin for managing products and displaying product information with review placeholders. The plugin is built as a sanitized example, so it does not include real client names, credentials, or production integration details.

Features

  • Product custom post type.
  • ACF product fields loaded from Local JSON.
  • Product archive, product detail, and reviews blocks.
  • Product data exposed through custom REST endpoints.
  • Environment-based script URL settings for test and production.
  • Conditional frontend asset loading.

Requirements

  • WordPress
  • PHP 8+
  • Composer
  • Node.js and npm
  • Advanced Custom Fields

Installation

From the plugin directory:

composer install
npm install
npm run build

Then activate the plugin in WordPress.

The build/ directory is not committed to the repository. Assets must be built locally or as part of a deployment/release process.

Product Fields

Products use the pri_product post type.

The plugin includes an ACF Local JSON field group in:

acf-json/group_pri_product_fields.json

Expected fields:

  • product_id
  • product_name
  • bazaarvoice_id
  • product_description
  • pds_file
  • sds_file
  • product_category

Product images use the native WordPress featured image.

During development, changes made to the field group in ACF can be written back to the plugin's acf-json/ directory. For production, field group changes should be made in code and deployed, not edited directly on live.

Blocks

The plugin provides three blocks:

  • Product Archive
  • Product Single
  • Product Reviews

The editor uses WordPress block editor components. Frontend block output is mounted with React and fetches product data from the plugin REST API.

Settings

Settings are available in:

Settings -> Product Management

Available options:

  • environment: test or production
  • client name
  • test script URL
  • production script URL
  • enable reviews
  • enable rating summary
  • enable debug mode
  • cache duration

Script URLs are placeholders and should be replaced per environment.

REST API

The plugin exposes frontend-safe product and configuration data under:

/wp-json/product-management/v1

Available endpoints:

  • GET /products
  • GET /products/{id}
  • GET /settings
  • GET /bazaarvoice-script

Public requests only expose published products. Editors can access additional product statuses while configuring blocks.

Development

Watch block assets:

npm run start

Build assets:

npm run build

Run PHP static analysis:

composer analyse

Notes

The review integration is intentionally mocked. The plugin renders Bazaarvoice-style placeholders and resolves a configured script URL, but it does not include real Bazaarvoice credentials or client-specific implementation details.