{"id":247608,"date":"2025-08-28T09:55:55","date_gmt":"2025-08-28T09:55:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dppbuilder\/"},"modified":"2025-08-28T09:55:19","modified_gmt":"2025-08-28T09:55:19","slug":"dppbuilder","status":"publish","type":"plugin","link":"https:\/\/lmo.wordpress.org\/plugins\/dppbuilder\/","author":20943377,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"1.0.3","tested":"6.8.5","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"DPPBuilder \u2013 Digital Product Passports for WooCommerce","header_author":"DPPBuilder.com","header_description":"Generate and display Digital Product Passports for WooCommerce products with material composition, origin tracking, and REST API access.","assets_banners_color":"acd6f2","last_updated":"2025-08-28 09:55:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.dppbuilder.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":214,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"pluginwave","date":"2025-08-28 09:55:19"}},"upgrade_notice":{"1.0.0":"<p>Initial stable release with full passport functionality.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3351876,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3351876,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3351876,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3351876,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3351876,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3351876,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3351876,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3351876,"resolution":"4","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[246982,246984,246983,1373,246985],"plugin_category":[],"plugin_contributors":[246986],"plugin_business_model":[],"class_list":["post-247608","plugin","type-plugin","status-publish","hentry","plugin_tags-digital-product-passport","plugin_tags-espr","plugin_tags-eu-regulation-compliance","plugin_tags-qr-code","plugin_tags-traceability","plugin_contributors-pluginwave","plugin_committers-pluginwave"],"banners":{"banner":"https:\/\/ps.w.org\/dppbuilder\/assets\/banner-772x250.png?rev=3351876","banner_2x":"https:\/\/ps.w.org\/dppbuilder\/assets\/banner-1544x500.png?rev=3351876","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dppbuilder\/assets\/icon-128x128.png?rev=3351876","icon_2x":"https:\/\/ps.w.org\/dppbuilder\/assets\/icon-256x256.png?rev=3351876","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dppbuilder\/assets\/screenshot-1.png?rev=3351876","caption":""},{"src":"https:\/\/ps.w.org\/dppbuilder\/assets\/screenshot-2.png?rev=3351876","caption":""},{"src":"https:\/\/ps.w.org\/dppbuilder\/assets\/screenshot-3.png?rev=3351876","caption":""},{"src":"https:\/\/ps.w.org\/dppbuilder\/assets\/screenshot-4.png?rev=3351876","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>DPPBuilder<\/strong> creates Digital Product Passports for your WooCommerce products, designed to help with EU Digital Product Passport requirements and providing comprehensive product traceability. The JSON output includes Schema.org Product markup and the UN\/CEFACT UNTP DPP context to facilitate early interoperability.\nThis plugin is fully functional and unlimited. No subscriptions, API keys, or external services are required.<\/p>\n\n<p><strong>Disclaimer:<\/strong> The official EU Digital Product Passport (DPP) regulation and its JSON data format have not been finalized at the time of this plugin\u2019s release. This plugin is intended for early adopters and developers who want to begin practicing and preparing for DPP implementation in WooCommerce. It uses the closest publicly available draft \u2014 the UN\/CEFACT UN\/Transport &amp; Logistics Programme (UNTP) DPP v0.6.1 pre-release \u2014 and follows current best practices for early interoperability. Once the official specification is published, DPPBuilder will be updated to reflect it.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>One\u2011Click Passport Generation<\/strong> \u2013 From the WooCommerce product editor, generate a JSON Digital Product Passport on demand<\/li>\n<li><strong>Human\u2011Readable Product Page + QR Code<\/strong> \u2013 Create a product DPP page and a QR PNG that links to it; add the QR anywhere in your store<\/li>\n<li><strong>REST API Access<\/strong> \u2013 Opt-in public endpoint (disabled by default) to fetch passport data: <code>\/wp-json\/dppbuilder\/v1\/passport\/{product_id}<\/code><\/li>\n<li><strong>Manufacturers Directory<\/strong> \u2013 Add\/search manufacturers, set logos and locations, and display country flags; associate with products<\/li>\n<li><strong>Materials &amp; Compositions<\/strong> \u2013 Create custom materials, search and relate them to products for transparent composition data<\/li>\n<li><strong>Comprehensive Product Data<\/strong> \u2013 Support for GTIN, manufacturing details, batches, origin, warranty and more<\/li>\n<li><strong>JSON\u2011LD (Product) Output<\/strong> \u2013 Optional schema output to enhance SEO with structured data<\/li>\n<li><strong>UN\/CEFACT UNTP Alignment<\/strong> \u2013 Includes UNTP DPP JSON-LD context and <code>conformsTo<\/code> metadata (v0.6.1 pre-release) for closest-available alignment<\/li>\n<li><strong>No External Services<\/strong> \u2013 Works entirely within your site; no accounts, no external APIs required<\/li>\n<li><strong>WooCommerce Ready<\/strong> \u2013 Compatible with modern Woo features (including HPOS)<\/li>\n<\/ul>\n\n<p><strong>Perfect for:<\/strong>\n* E-commerce businesses needing EU compliance\n* Companies wanting to improve product transparency\n* Sustainability-focused brands\n* Manufacturers requiring detailed product traceability<\/p>\n\n<h3>Usage<\/h3>\n\n<p><strong>Generate a Passport:<\/strong><\/p>\n\n<ol>\n<li>Open any WooCommerce product<\/li>\n<li>Click the \u201cGenerate DPP\u201d button in the DPP section<\/li>\n<li>The plugin creates a JSON passport and stores it; a QR image can be generated to link to the readable page<\/li>\n<\/ol>\n\n<p><strong>Display a Passport:<\/strong>\n    <code>[dppbuilder_view product_id=\"123\"]<\/code><\/p>\n\n<p><strong>On a Product Page (auto-detect):<\/strong>\n    <code>[dppbuilder_view]<\/code><\/p>\n\n<p><strong>WP-CLI:<\/strong>\nWP-CLI commands are not currently included in this plugin release.<\/p>\n\n<p><strong>REST API:<\/strong>\n    <code>GET \/wp-json\/dppbuilder\/v1\/passport\/{product_id}<\/code><\/p>\n\n<p><strong>Developer Hooks:<\/strong>\n    <code>php\n\/\/ Modify passport data before storage\nadd_action('dppb_passport_generated', function($product_id, $passport) {\n    \/\/ Custom modifications here\n}, 10, 2);<\/code><\/p>\n\n<h3>Support<\/h3>\n\n<p>For user support, feature requests, and bug reports, please use the official WordPress.org support forum for this plugin:<\/p>\n\n<p>https:\/\/wordpress.org\/support\/plugin\/dppbuilder\/<\/p>\n\n<p>We monitor the forum and respond as promptly as possible. Documentation and product information are also available on our website.<\/p>\n\n<p><strong>System Requirements:<\/strong>\n* WordPress 6.0 or higher\n* PHP 7.4 or higher\n* WooCommerce 7.0 or higher\n* MySQL 5.6 or higher\n* PHP GD extension (required for QR PNG generation)<\/p>\n\n<p><strong>Recommended:<\/strong>\n* WordPress 6.5 or higher\n* PHP 8.0 or higher\n* WooCommerce 9.0 or higher<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin does not collect personal data by default. When the public REST API is enabled in settings, the plugin may use an IP-derived, salted transient key to rate-limit anonymous requests. No raw IP addresses are stored. You can disable public access and\/or rate limiting in the plugin settings at any time. QR codes are generated locally; no external QR APIs are contacted.<\/p>\n\n<h3>Third\u2011Party Libraries<\/h3>\n\n<p>This plugin bundles the following third\u2011party component:<\/p>\n\n<ul>\n<li>PHP QR Code \u2013 Open source QR code generation library used to create PNG QR images for the DPP page link.\n\n<ul>\n<li>Project page: https:\/\/phpqrcode.sourceforge.net\/<\/li>\n<li>License: LGPL (see <code>includes\/vendor\/PHPQRCODE-LICENSE.txt<\/code>)<\/li>\n<li>Included file: <code>includes\/vendor\/phpqrcode.php<\/code> (merged single\u2011file distribution)<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>Country flag images in <code>assets\/images\/country-flags\/<\/code> are derived from the\n    hampusborgos\/country-flags project and are Public Domain (PD) as documented by\nthat project. For details, see:<\/p>\n\n<ul>\n<li>Source repository: https:\/\/github.com\/hampusborgos\/country-flags<\/li>\n<li>Local license file: <code>assets\/images\/country-flags\/LICENSE.txt<\/code><\/li>\n<\/ul>\n\n<p>Notes:\n* The original sources are SVG; in this plugin they were converted to PNG for\n  better security characteristics and smaller file size.\n* Per the source project\u2019s README, flags as symbols are not under copyright\n  protection (there may be other restrictions on use in some jurisdictions).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress Plugins screen<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen<\/li>\n<li>Ensure WooCommerce is active (required dependency)<\/li>\n<li>Go to <strong>DPPBuilder \u2192 Settings<\/strong> to configure issuer and display options<\/li>\n<li>Open any WooCommerce product and click \u201cGenerate DPP\u201d to create the JSON passport and QR<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20plugin%20require%20woocommerce%3F'><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, DPPBuilder requires WooCommerce to be installed and activated. The plugin will display an error message if WooCommerce is not available.<\/p><\/dd>\n<dt id='is%20this%20plugin%20fully%20compliant%20with%20the%20eu%20digital%20product%20passport%20regulation%3F'><h3>Is this plugin fully compliant with the EU Digital Product Passport regulation?<\/h3><\/dt>\n<dd><p>Not yet \u2014 there is no fully compliant solution on the market either. The official EU DPP regulation and its JSON data format have not been finalized. DPPBuilder is designed for early adopters, developers, and businesses who want to start understanding and practicing how Digital Product Passports will work in WooCommerce. It currently follows the closest publicly available draft (UN\/CEFACT UNTP DPP v0.6.1 pre-release) and will be updated to match the final standard once it is published.<\/p><\/dd>\n<dt id='is%20the%20rest%20api%20endpoint%20public%20by%20default%3F'><h3>Is the REST API endpoint public by default?<\/h3><\/dt>\n<dd><p>No. The public REST endpoint is disabled by default to respect privacy and WordPress.org guidelines. Admins can enable it in the plugin settings when needed.\nGo to: DPPBuilder \u2192 Settings \u2192 General \u2192 \"Public REST Endpoint\" to enable. The endpoint returns only passport data for the requested product and no personal data.<\/p><\/dd>\n<dt id='can%20i%20customize%20the%20passport%20schema%3F'><h3>Can I customize the passport schema?<\/h3><\/dt>\n<dd><p>Yes! Developers can hook into the <code>dppb_passport_generated<\/code> action to modify the passport data before it's stored. The plugin also provides filters for customizing the output. If you need deeper UNTP alignment, you can add additional UNTP terms while preserving existing keys for backward compatibility.<\/p><\/dd>\n<dt id='does%20this%20plugin%20work%20with%20existing%20woocommerce%20products%3F'><h3>Does this plugin work with existing WooCommerce products?<\/h3><\/dt>\n<dd><p>Yes, you can generate passports for existing products from the product editor using the \u201cGenerate DPP\u201d button.<\/p><\/dd>\n<dt id='can%20i%20display%20passports%20on%20my%20website%3F'><h3>Can I display passports on my website?<\/h3><\/dt>\n<dd><p>Yes! Use the shortcode <code>[dppbuilder_view product_id=\"123\"]<\/code> on any page, or simply <code>[dppbuilder_view]<\/code> on a product page to automatically detect the current product.<\/p><\/dd>\n<dt id='does%20this%20plugin%20support%20multiple%20languages%3F'><h3>Does this plugin support multiple languages?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully internationalized and ready for translation. Translation files can be added to the <code>\/languages\/<\/code> directory.<\/p><\/dd>\n<dt id='what%20security%20measures%20are%20implemented%3F'><h3>What security measures are implemented?<\/h3><\/dt>\n<dd><p>The plugin includes comprehensive security features: nonce verification, capability checks, input sanitization, rate limiting for API endpoints, and protection against common vulnerabilities. All user inputs are validated and sanitized before processing.<\/p><\/dd>\n<dt id='can%20i%20export%20passport%20data%3F'><h3>Can I export passport data?<\/h3><\/dt>\n<dd><p>Yes, the plugin includes export functionality under <strong>DPPBuilder \u2192 Tools<\/strong> for backing up or migrating your passport data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Version bump to 1.0.3 (no functional changes)<\/li>\n<li>Align header, constant, and readme stable tag<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Declared UN\/CEFACT UNTP DPP JSON-LD context and <code>conformsTo<\/code> metadata (v0.6.1 pre-release)<\/li>\n<li>Non-breaking additions only; existing keys and API remain unchanged<\/li>\n<li>Compliance updates for WordPress.org guidelines<\/li>\n<li>Removed generation limits and all upsell\/licensing references<\/li>\n<li>Ensured plugin is fully functional and unlimited out of the box<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial stable release<\/li>\n<li>Complete passport generation<\/li>\n<li>Manufacturer and material management<\/li>\n<li>REST API endpoint<\/li>\n<li>Frontend viewer with shortcodes<\/li>\n<li>Comprehensive settings panel<\/li>\n<\/ul>","raw_excerpt":"Domain Path: \/languages Create Digital Product Passports for WooCommerce with traceability, sustainability data, QR codes, and REST API support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/247608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=247608"}],"author":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pluginwave"}],"wp:attachment":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=247608"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=247608"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=247608"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=247608"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=247608"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=247608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}