Skip to content

Commit bd6e288

Browse files
authored
Merge pull request #5 from PolyPlugins/update-product-endpoint/add-upc
Added: upc attribute
2 parents fc4ed94 + d5d5a18 commit bd6e288

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

content-api.php

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* Plugin Name: Content API
55
* Plugin URI: https://www.polyplugins.com/contact/
66
* Description: Adds various endpoints to create content
7-
* Version: 1.0.5
7+
* Version: 1.0.6
88
* Requires at least: 6.5
99
* Requires PHP: 7.4
1010
* Author: Poly Plugins
@@ -423,6 +423,7 @@ public function get_product(WP_REST_Request $request) {
423423
$map_price = $product->get_meta('_map_price');
424424
$cost = $product->get_meta('_cost');
425425
$sku = $product->get_sku();
426+
$upc = $product->get_meta('_global_unique_id');
426427
$stock_status = $product->get_stock_status();
427428
$stock_quantity = $product->get_stock_quantity();
428429
$tags = wp_get_post_terms($product->get_id(), 'product_tag', array('fields' => 'names'));
@@ -457,6 +458,7 @@ public function get_product(WP_REST_Request $request) {
457458
'map_price' => $map_price ? floatval($map_price) : '',
458459
'cost' => $cost ? floatval($cost) : '',
459460
'sku' => $sku ? sanitize_text_field($sku) : '',
461+
'upc' => $upc ? sanitize_text_field($upc) : '',
460462
'stock_status' => $stock_status ? sanitize_text_field($product->get_stock_status()) : '',
461463
'stock_quantity' => $stock_quantity ? absint($product->get_stock_quantity()) : 0,
462464
'tags' => $tags ? array_map('sanitize_text_field', $tags) : array(),
@@ -489,6 +491,7 @@ public function update_product(WP_REST_Request $request) {
489491
$map_price = isset($fields['map_price']) ? floatval($fields['map_price']) : '';
490492
$cost = isset($fields['cost']) ? floatval($fields['cost']) : '';
491493
$sku = isset($fields['sku']) ? sanitize_text_field($fields['sku']) : '';
494+
$upc = isset($fields['upc']) ? sanitize_text_field($fields['upc']) : '';
492495
$stock_status = isset($fields['stock_status']) ? sanitize_text_field($fields['stock_status']) : '';
493496
$stock_quantity = isset($fields['stock_quantity']) ? intval($fields['stock_quantity']) : '';
494497
$tags = isset($fields['tags']) && is_array($fields['tags']) ? array_map('sanitize_text_field', $fields['tags']) : array();
@@ -588,6 +591,14 @@ public function update_product(WP_REST_Request $request) {
588591
$product->set_sku($sku);
589592
}
590593

594+
if ($upc) {
595+
if (!preg_match('/^[0-9\-]+$/', $upc)) {
596+
return new WP_Error('upc_malformed', 'UPC must contain only numbers and hyphens', array('status' => 500));
597+
}
598+
599+
$product->update_meta_data('_global_unique_id', $upc);
600+
}
601+
591602
if ($stock_status) {
592603
$product->set_stock_status($stock_status);
593604
}
@@ -702,6 +713,7 @@ public function create_product(WP_REST_Request $request) {
702713
$map_price = isset($fields['map_price']) ? floatval($fields['map_price']) : '';
703714
$cost = isset($fields['cost']) ? floatval($fields['cost']) : '';
704715
$sku = isset($fields['sku']) ? sanitize_text_field($fields['sku']) : '';
716+
$upc = isset($fields['upc']) ? sanitize_text_field($fields['upc']) : '';
705717
$stock_status = isset($fields['stock_status']) ? sanitize_text_field($fields['stock_status']) : '';
706718
$stock_quantity = isset($fields['stock_quantity']) ? intval($fields['stock_quantity']) : '';
707719
$tags = isset($fields['tags']) && is_array($fields['tags']) ? array_map('sanitize_text_field', $fields['tags']) : array();
@@ -773,6 +785,14 @@ public function create_product(WP_REST_Request $request) {
773785
$product->set_sku($sku);
774786
}
775787

788+
if ($upc) {
789+
if (!preg_match('/^[0-9\-]+$/', $upc)) {
790+
return new WP_Error('upc_malformed', 'UPC must contain only numbers and hyphens', array('status' => 500));
791+
}
792+
793+
$product->update_meta_data('_global_unique_id', $upc);
794+
}
795+
776796
if ($stock_status) {
777797
$product->set_stock_status($stock_status);
778798
}

0 commit comments

Comments
 (0)