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

Product Management Plugin

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

by Pawel Cetnarowski · github.com/papik295/product-plugin-wp

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/papik295/product-plugin-wp/archive/refs/heads/develop.zip

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.