diff --git a/.github/workflow/brand-plugin-test.yml b/.github/workflows/brand-plugin-test.yml
similarity index 56%
rename from .github/workflow/brand-plugin-test.yml
rename to .github/workflows/brand-plugin-test.yml
index fcb489d..69f110e 100644
--- a/.github/workflow/brand-plugin-test.yml
+++ b/.github/workflows/brand-plugin-test.yml
@@ -32,27 +32,28 @@ jobs:
module-repo: ${{ github.repository }}
module-branch: ${{ needs.setup.outputs.branch }}
plugin-repo: 'bluehost/bluehost-wordpress-plugin'
+ plugin-branch: 'solutions'
sync-npm-package: true
secrets: inherit
- hostgator:
- name: HostGator Build and Test
- needs: setup
- uses: newfold-labs/workflows/.github/workflows/module-plugin-test.yml@main
- with:
- module-repo: ${{ github.repository }}
- module-branch: ${{ needs.setup.outputs.branch }}
- plugin-repo: 'newfold-labs/wp-plugin-hostgator'
- sync-npm-package: true
- secrets: inherit
+ # hostgator:
+ # name: HostGator Build and Test
+ # needs: setup
+ # uses: newfold-labs/workflows/.github/workflows/module-plugin-test.yml@main
+ # with:
+ # module-repo: ${{ github.repository }}
+ # module-branch: ${{ needs.setup.outputs.branch }}
+ # plugin-repo: 'newfold-labs/wp-plugin-hostgator'
+ # sync-npm-package: true
+ # secrets: inherit
- crazydomains:
- name: Crazy Domains Build and Test
- needs: setup
- uses: newfold-labs/workflows/.github/workflows/module-plugin-test.yml@main
- with:
- module-repo: ${{ github.repository }}
- module-branch: ${{ needs.setup.outputs.branch }}
- plugin-repo: 'newfold-labs/wp-plugin-crazy-domains'
- sync-npm-package: true
- secrets: inherit
\ No newline at end of file
+ # crazydomains:
+ # name: Crazy Domains Build and Test
+ # needs: setup
+ # uses: newfold-labs/workflows/.github/workflows/module-plugin-test.yml@main
+ # with:
+ # module-repo: ${{ github.repository }}
+ # module-branch: ${{ needs.setup.outputs.branch }}
+ # plugin-repo: 'newfold-labs/wp-plugin-crazy-domains'
+ # sync-npm-package: true
+ # secrets: inherit
diff --git a/.github/workflow/lint-checker-php.yml b/.github/workflows/lint-checker-php.yml
similarity index 100%
rename from .github/workflow/lint-checker-php.yml
rename to .github/workflows/lint-checker-php.yml
diff --git a/.github/workflow/publish-package.yml b/.github/workflows/publish-package.yml
similarity index 100%
rename from .github/workflow/publish-package.yml
rename to .github/workflows/publish-package.yml
diff --git a/.github/workflow/satis-update.yml b/.github/workflows/satis-update.yml
similarity index 100%
rename from .github/workflow/satis-update.yml
rename to .github/workflows/satis-update.yml
diff --git a/components/entitlements/index.js b/components/entitlements/index.js
index 1cd6045..f7c25ac 100644
--- a/components/entitlements/index.js
+++ b/components/entitlements/index.js
@@ -1,5 +1,5 @@
import './styles.scss';
-import { Container, Title } from '@newfold/ui-component-library';
+import { Container, Title, Button } from '@newfold/ui-component-library';
const defaults = {
eventEndpoint: '/newfold-data/v1/events/',
@@ -43,22 +43,30 @@ const Entitlements = ( { methods, constants, ...props } ) => {
),
} )
.then( ( response ) => {
- // check response for data
- const r = JSON.parse( response.data );
- console.log( r );
+ let r = response;
+ // if response is not already json parse it (debug mode)
+ if ( typeof r === 'string' ) {
+ console.log( 'Sample entitlements loaded.')
+ r = JSON.parse( response );
+ }
+ // console.log(r);
+ // check response for proper data
if (
- ! r.hasOwnProperty( 'categories' ) ||
- ! r.hasOwnProperty( 'entitlements' )
+ r.hasOwnProperty( 'solution' ) &&
+ r.hasOwnProperty( 'solutions' ) &&
+ r.hasOwnProperty( 'entitlements' ) &&
+ r.hasOwnProperty( 'categories' )
) {
- setIsError( true );
- setIsLoading( false );
- } else {
setActiveSolution(
validateSolution( r.solution, r.solutions )
);
setEntitlementsCategories(
validateCategories( r.categories, r.entitlements )
);
+ setIsLoading( false );
+ } else {
+ console.log( 'Invalid or malformed entitlements response.' );
+ setIsError( true );
setIsLoading( false );
}
} ).catch( ( response ) => {
@@ -142,27 +150,34 @@ const Entitlements = ( { methods, constants, ...props } ) => {
{ category.name }
{ renderEntitlementList( category.entitlements ) }
- >
+ >
}
;
};
+
+ const renderCTAUrl = ( url ) => {
+ return url.replace('{siteUrl}', window.NewfoldRuntime.base_url);
+ };
const renderEntitlementList = ( entitlements ) => {
- return entitlements.map( ( entitlement ) => (
+ return entitlements.map( ( entitlement, i ) => (
-
) );
};
diff --git a/components/entitlements/styles.scss b/components/entitlements/styles.scss
index cd25cce..d7e4bd3 100644
--- a/components/entitlements/styles.scss
+++ b/components/entitlements/styles.scss
@@ -1,14 +1,26 @@
.newfold-entitlement {
+ align-items: center;
+ border: 1px solid #eee;
display:flex;
flex-direction: row;
- padding: 1rem;
- margin: 1rem 0;
- border: 1px solid #eee;
grid-gap: 1rem;
- align-items: center;
+ justify-content: space-between;
+ margin: 1rem 0;
+ padding: 1rem;
+
+ .entitlement-image {
+ height: auto;
+ max-width: 48px;
+ }
+
+ .entitlement-detail {
+ display: flex;
+ flex-grow: 2;
+ flex-direction: column;
+ grid-gap: .25rem;
+ }
- img {
- width: 48px;
- height: 48px;
+ .entitlement-cta {
+ text-wrap: nowrap;
}
}
\ No newline at end of file
diff --git a/includes/EntitlementsApi.php b/includes/EntitlementsApi.php
index 7836b84..36158c1 100644
--- a/includes/EntitlementsApi.php
+++ b/includes/EntitlementsApi.php
@@ -22,7 +22,7 @@ class EntitlementsApi {
/**
* Hiive API endpoint for fetching site entitlements.
*/
- const HIIVE_API_ENTITLEMENTS_ENDPOINT = 'sites/v1/entitlements';
+ const HIIVE_API_ENTITLEMENTS_ENDPOINT = '/sites/v1/entitlements';
/**
* Instance of the HiiveConnection class.
@@ -30,6 +30,8 @@ class EntitlementsApi {
* @var HiiveConnection
*/
private $hiive;
+ private $namespace;
+ private $rest_base;
/**
* EntitilementsApi constructor.
@@ -55,7 +57,7 @@ public function register_routes() {
'methods' => \WP_REST_Server::READABLE,
'callback' => array( $this, 'get_items' ),
'permission_callback' => function () {
- return current_user_can( 'read' );
+ return current_user_can( 'manage_options' );
},
)
);
@@ -79,12 +81,11 @@ public function setTransient( $data, $expiration = 21600 ) {
*/
public function get_items() {
-
// If there is no Hiive connection, bail.
- if(! HiiveConnection::is_connected()) {
+ if( ! HiiveConnection::is_connected()) {
if ( defined('WP_DEBUG') && true === WP_DEBUG ) {
// for debugging - use a local json file rather than hiive entitlement endpoint response
- return new WP_REST_Response( array( 'data' => json_decode( file_get_contents( NFD_SOLUTIONS_DIR . '/includes/js/debug.json') ) ), 203 );
+ return new WP_REST_Response( json_decode( file_get_contents( NFD_SOLUTIONS_DIR . '/includes/js/debug.json' ) ), 218 );
}
return new WP_REST_Response( array( 'message' => 'Not allowed to load entitlements from server.' ), 403 );
}
@@ -93,28 +94,34 @@ public function get_items() {
if ( false === $entitlements ) {
- $args = array(
- 'method' => 'GET'
+ $response = wp_remote_get(
+ NFD_HIIVE_URL . self::HIIVE_API_ENTITLEMENTS_ENDPOINT,
+ array(
+ 'headers' => array(
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json',
+ 'Authorization' => 'Bearer ' . HiiveConnection::get_auth_token(),
+ ),
+ )
);
-
- $hiive_response = $this->hiive->hiive_request( self::HIIVE_API_ENTITLEMENTS_ENDPOINT, array(), $args );
-
- if ( is_wp_error( $hiive_response ) ) {
- return new \WP_REST_Response( $hiive_response->get_error_message(), 401 );
+
+ if ( is_wp_error( $response ) ) {
+ return new WP_REST_Response( array( 'message' => 'An error occurred with the entitlements response.' ), 500 );
}
-
- $status_code = wp_remote_retrieve_response_code( $hiive_response );
-
- if ( 200 !== $status_code ) {
- return new \WP_REST_Response( wp_remote_retrieve_response_message( $hiive_response ), $status_code );
- }
-
- $entitlements = json_decode( wp_remote_retrieve_body( $hiive_response ) );
- $this->setTransient( $entitlements );
+ $body = wp_remote_retrieve_body( $response );
+ $data = json_decode( $body, true );
+ if (
+ $data &&
+ is_array( $data ) &&
+ array_key_exists('solutions', $data) &&
+ array_key_exists('categories', $data)
+ ) {
+ $entitlements = $data;
+ }
}
- return new \WP_REST_Response( $entitlements, 201 );
+ return new WP_REST_Response( $entitlements, 200 );
}
}
diff --git a/includes/js/debug.json b/includes/js/debug.json
index 3734626..c7e0acc 100644
--- a/includes/js/debug.json
+++ b/includes/js/debug.json
@@ -3,299 +3,839 @@
"entitlements": [
{
"type": "plugin",
- "name": "Miles Armstrong Sr.",
- "description": "Sed et dolor accusamus ratione expedita quia perspiciatis aspernatur. Quis minus facere ea illo assumenda. Id consequuntur fuga quia similique voluptas corrupti. Et corporis eius necessitatibus.",
- "longDescription": "Mollitia ut placeat est voluptatum. Autem eum voluptatem qui et iste repellendus. Blanditiis dolores excepturi aut.",
+ "name": "Yoast SEO",
+ "description": "Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.",
+ "longDescription": null,
"author": {
- "name": "Mr. Abelardo Kovacek",
- "url": "http://shanahan.org/provident-eos-et-voluptatem-autem-aut"
+ "name": "Yoast",
+ "url": "https://yoast.com/"
},
- "url": "http://dickinson.biz/sit-et-est-unde-ad-qui.html",
+ "url": "https://wordpress.org/plugins/wordpress-seo/",
"cta": {
- "text": "Learn More",
- "url": "http://jacobson.net/pariatur-nam-iusto-magnam-et-ea.html"
+ "text": "Configure",
+ "url": "{siteUrl}/wp-admin/admin.php?page=wpseo_dashboard#top#first-time-configuration"
},
- "providerName": "et_delectus",
- "download": "",
- "slug": "reba-bergstrom",
- "basename": "reba-bergstrom/reba-bergstrom.php",
+ "providerName": null,
+ "download": "https://downloads.wordpress.org/plugin/wordpress-seo.latest-stable.zip",
+ "slug": "wp-seo",
+ "basename": "wordpress-seo/wp-seo.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/0077ee?text=molestiae"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/yoast-premium.svg"
},
- "category": "Payments"
+ "category": "Search Engine Optimization"
},
{
- "type": "feature",
- "name": "Darryl Homenick MD",
- "description": "Laborum consectetur vel libero sint quos. Tempore consectetur nobis perferendis aut magni quidem est. Vel dolor fugit voluptas distinctio dolorem.",
- "longDescription": "Est accusamus est eaque. Autem iure optio a omnis. Excepturi voluptatem hic asperiores.",
+ "type": "plugin",
+ "name": "Advanced Reviews",
+ "description": "Get positive product reviews and use social proof to drive sales.",
+ "longDescription": null,
"author": {
- "name": "Karina Kihn",
- "url": "http://www.moen.com/consequatur-delectus-dolor-aut-sit"
+ "name": "Example",
+ "url": "https://example.com"
},
- "url": "http://mraz.com/eos-quam-impedit-veniam-corrupti-magnam-et.html",
+ "url": "https://example.com",
"cta": {
- "text": "Learn More",
- "url": "http://vandervort.com/quas-soluta-eligendi-aliquam-enim-laborum"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "consequatur_eveniet",
- "download": "",
- "slug": "vena-macejkovic",
- "basename": "vena-macejkovic/vena-macejkovic.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/008899?text=quasi"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/advanced-reviews.svg"
},
- "category": "Store/Business Operations"
+ "category": "Customer Engagement"
},
{
"type": "plugin",
- "name": "Florence Brekke",
- "description": "Quaerat est odit ad sunt. Quaerat veritatis rerum et minus consequatur non. Expedita ducimus non aut.",
- "longDescription": "Sunt cum qui et corrupti recusandae ut eveniet. Ut et qui odio voluptatem provident est quia totam. Et sapiente ut assumenda ab. Quia ut magni veniam consequatur placeat.",
+ "name": "Custom Email Templates",
+ "description": "Manage and customize email templates sent from your store.",
+ "longDescription": null,
"author": {
- "name": "Zola Quitzon Sr.",
- "url": "https://okeefe.org/quis-voluptatum-est-voluptatem-facere.html"
+ "name": "Example",
+ "url": "https://example.com"
},
- "url": "http://oreilly.com/in-pariatur-magnam-quas-mollitia-sunt-sit-esse.html",
+ "url": "https://example.com",
"cta": {
- "text": "Learn More",
- "url": "http://www.bruen.org/et-dolores-ducimus-eligendi-vitae-fugiat-non-est"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "veritatis_nisi",
- "download": "",
- "slug": "remington-friesen",
- "basename": "remington-friesen/remington-friesen.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/00aa88?text=et"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/custom-email-templates.svg"
},
- "category": "Core"
+ "category": "Customer Engagement"
},
{
- "type": "theme",
- "name": "Aric Stark IV",
- "description": "Repellendus eligendi quidem repellendus suscipit tempore nobis. Ut voluptatibus omnis similique labore quia nulla. Quos quibusdam debitis explicabo cum. Ab quos et eveniet.",
- "longDescription": "Ea veritatis non eaque sunt quo sit hic. Et quia accusamus voluptates et molestiae tenetur culpa. Eos autem rerum aspernatur suscipit inventore.",
+ "type": "plugin",
+ "name": "PDF Invoices",
+ "description": "Generate invoices and create packing slips to speed up the shipping process.",
+ "longDescription": null,
"author": {
- "name": "Olga Kreiger",
- "url": "http://mohr.org/"
+ "name": "Example",
+ "url": "https://example.com"
},
- "url": "http://oreilly.com/",
+ "url": "https://example.com",
"cta": {
- "text": "Learn More",
- "url": "http://www.sipes.com/"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "",
- "download": "http://www.murray.info/",
- "slug": "matilda-schiller",
- "basename": "matilda-schiller/matilda-schiller.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/00ccaa?text=quo"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/pdf-invoices.svg"
},
- "category": "Search Engine Optimization"
+ "category": "Store Operations"
+ },
+ {
+ "type": "plugin",
+ "name": "Request a Quote",
+ "description": "Hide prices, disable shopping carts, and encourage customers to request a quote for products in your store.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/request-a-quote.svg"
+ },
+ "category": "Sales & Checkout"
},
{
"type": "plugin",
- "name": "Jed Mueller",
- "description": "Nam et reiciendis ducimus quibusdam labore voluptate. Perferendis tempora est autem aspernatur. Perferendis et sint accusamus et ratione. Asperiores nemo velit et sunt minima.",
- "longDescription": "Officia esse quasi numquam ducimus labore dolorem laboriosam. Ipsa et suscipit eaque harum similique ab eos. Sit ratione iure earum earum. Voluptatum impedit est sed quo non iure et.",
+ "name": "Product Add-Ons & Extra Options",
+ "description": "Add advanced options (free or paid) to your product pages using varied fields.",
+ "longDescription": null,
"author": {
- "name": "Ahmad Dickens",
- "url": "https://www.bradtke.com/eos-aliquid-mollitia-minima-numquam"
+ "name": "Example",
+ "url": "https://example.com"
},
- "url": "http://www.powlowski.org/",
+ "url": "https://example.com",
"cta": {
- "text": "Learn More",
- "url": "http://www.harber.net/in-sunt-sint-non-aperiam-quos-sed"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "placeat_nam",
- "download": "",
- "slug": "johnnie-douglas",
- "basename": "johnnie-douglas/johnnie-douglas.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/007700?text=soluta"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/product-add-ons-extra-options.svg"
},
"category": "Product Management"
},
{
- "type": "feature",
- "name": "Lorenza Waelchi",
- "description": "Qui odit dignissimos unde dolore numquam omnis eos voluptas. Doloremque nulla aperiam sed iusto qui nesciunt eius laborum. Ullam vero nisi debitis assumenda inventore dicta.",
- "longDescription": "Aut laudantium eaque nulla aut non. Corrupti dolore sapiente nemo aut vel illum ea.",
+ "type": "plugin",
+ "name": "Composite Products",
+ "description": "Allow customers to assemble a product using other products from your store.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/composite-products.svg"
+ },
+ "category": "Product Management"
+ },
+ {
+ "type": "plugin",
+ "name": "Gift Cards",
+ "description": "Offer customizable gift cards with personalized messages for the recipient.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/gift-cards.svg"
+ },
+ "category": "Sales & Checkout"
+ },
+ {
+ "type": "plugin",
+ "name": "Yoast Local SEO",
+ "description": "Increase your online presence and search rank on a local level.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://yoast.com"
+ },
+ "url": "https://yoast.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/yoast-local-seo.svg"
+ },
+ "category": "Search Engine Optimization"
+ },
+ {
+ "type": "plugin",
+ "name": "Yoast News SEO",
+ "description": "Aim for that top spot in Google's news carousel.",
+ "longDescription": null,
"author": {
- "name": "Jerrell Heathcote",
- "url": "http://cremin.com/"
+ "name": "Example",
+ "url": "https://yoast.com"
},
- "url": "https://www.bartoletti.org/veritatis-doloribus-maiores-aspernatur-deleniti-similique-hic-dicta-laudantium",
+ "url": "https://yoast.com",
"cta": {
- "text": "Learn More",
- "url": "http://yundt.org/ipsum-est-eaque-blanditiis.html"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "quibusdam_iure",
- "download": "",
- "slug": "jessy-swift",
- "basename": "jessy-swift/jessy-swift.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/0066ee?text=quae"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/yoast-news-seo.svg"
},
"category": "Search Engine Optimization"
},
{
"type": "plugin",
- "name": "Edgar Kshlerin",
- "description": "Omnis qui officiis voluptatem. Totam vero explicabo eius porro vero quis doloribus et. Voluptatem cupiditate reprehenderit consequuntur ea qui nam nemo. Et quibusdam perferendis eos.",
- "longDescription": "Sint aut dicta consequatur inventore. Fugiat quo sit amet temporibus. Dolore nam labore sunt pariatur quidem aliquam corporis.",
+ "name": "Product Comparison",
+ "description": "Compare products to highlight differences and focus on key product features.",
+ "longDescription": null,
"author": {
- "name": "Dr. Benny Smitham Sr.",
- "url": "http://www.goodwin.biz/"
+ "name": "Example",
+ "url": "https://example.com"
},
- "url": "https://lynch.biz/assumenda-aut-velit-alias-voluptatem.html",
+ "url": "https://example.com",
"cta": {
- "text": "Learn More",
- "url": "http://www.berge.net/odio-libero-quo-molestias-eius"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "",
- "download": "http://dare.com/quos-minus-aut-corporis-dignissimos-voluptate-ab-aliquid-quaerat.html",
- "slug": "stephany-kemmer",
- "basename": "stephany-kemmer/stephany-kemmer.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/00ccdd?text=et"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/product-comparison.svg"
},
- "category": "Core"
+ "category": "Product Management"
},
{
"type": "plugin",
- "name": "Mr. Chris Yost PhD",
- "description": "Aperiam accusamus aliquid minus corporis. Quibusdam excepturi commodi qui et numquam ab. Voluptate voluptatem eligendi excepturi similique ipsa enim nesciunt incidunt. Voluptatibus pariatur dolores optio omnis asperiores consequatur.",
- "longDescription": "Blanditiis consequuntur ab architecto fugiat sit non. Optio delectus nam nostrum voluptatum. Voluptas ut aliquid soluta. Aut modi quia sit rem et consequatur.",
+ "name": "Yoast WooCommerce SEO",
+ "description": "Unlock extra tools, features, and SEO for your WooCommerce store.",
+ "longDescription": null,
"author": {
- "name": "Mr. Berta Huels",
- "url": "https://www.wunsch.com/illo-ut-at-totam"
+ "name": "Yoast",
+ "url": "https://yoast.com"
},
- "url": "http://wuckert.org/quia-temporibus-et-aliquam-dolor.html",
+ "url": "https://yoast.com",
"cta": {
- "text": "Learn More",
- "url": "http://www.osinski.biz/tempore-et-maiores-qui-doloribus-repellat-error-at"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "",
- "download": "http://bosco.com/autem-reiciendis-nihil-laborum-doloremque-odio",
- "slug": "xzavier-gulgowski",
- "basename": "xzavier-gulgowski/xzavier-gulgowski.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/000066?text=eos"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/yoast-woocommerce-seo.svg"
},
"category": "Search Engine Optimization"
},
{
- "type": "theme",
- "name": "Dr. Ethel Kreiger V",
- "description": "Minus cupiditate ut sit adipisci autem. Tempora voluptates ut dolore est. Quo officia dignissimos libero at praesentium sit omnis id. Dolor consequatur rerum assumenda.",
- "longDescription": "Saepe animi a pariatur quo error officiis. Quis a debitis id consequatur eos. Mollitia eveniet laudantium ut.",
+ "type": "plugin",
+ "name": "One-Click Checkout",
+ "description": "Enable an easy and one-quick checkout option (like on Amazon) for users already registered with your store.",
+ "longDescription": null,
"author": {
- "name": "Mrs. Cayla Stehr DDS",
- "url": "http://www.leuschke.com/laboriosam-omnis-possimus-provident-expedita-natus-beatae.html"
+ "name": "Example",
+ "url": "https://example.com"
},
- "url": "http://www.fritsch.biz/iure-cupiditate-velit-hic",
+ "url": "https://example.com",
"cta": {
- "text": "Learn More",
- "url": "http://gerlach.com/in-quisquam-debitis-error-iusto-recusandae-est"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "",
- "download": "http://rath.info/excepturi-saepe-quia-consequatur-asperiores-fugit",
- "slug": "allene-emard",
- "basename": "allene-emard/allene-emard.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/007711?text=dolor"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/one-click-checkout.svg"
},
- "category": "Store/Business Operations"
+ "category": "Sales & Checkout"
},
{
"type": "plugin",
- "name": "Keely Hirthe",
- "description": "Cum vel facere officia aut rem. Nulla quaerat quidem nemo reiciendis. Delectus mollitia maiores architecto enim iste. Expedita quia velit rerum omnis. Animi vel ad ipsum et blanditiis.",
- "longDescription": "Architecto illum expedita quia nulla placeat. Et iste cum sed dolorem ipsum accusantium culpa iusto.",
+ "name": "Subscriptions",
+ "description": "Create passive revenue by selling subscription-based products or services.",
+ "longDescription": null,
"author": {
- "name": "Aurelia Homenick",
- "url": "http://www.sporer.com/enim-architecto-vitae-qui"
+ "name": "Example",
+ "url": "https://example.com"
},
- "url": "http://stiedemann.com/",
+ "url": "https://example.com",
"cta": {
- "text": "Learn More",
- "url": "http://larkin.com/enim-esse-harum-esse-dolorem-qui-nam"
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
},
- "providerName": "",
- "download": "http://www.heidenreich.com/",
- "slug": "lina-o'conner",
- "basename": "lina-o'conner/lina-o'conner.php",
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
"image": {
- "primaryImage": "https://via.placeholder.com/640x480.png/00bb77?text=sit"
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/subscriptions.svg"
},
- "category": "Payments"
- }
- ],
- "categories": [
+ "category": "Sales & Checkout"
+ },
{
- "name": "Store/Business Operations",
- "priority": 60
+ "type": "plugin",
+ "name": "Creative Email Marketing",
+ "description": "Send newsletters, promotions, updates and transactional e-commerce emails.",
+ "longDescription": null,
+ "author": {
+ "name": "Newfold Digital",
+ "url": "https://newfold.com"
+ },
+ "url": "https://wordpress.org/plugins/creative-mail-by-constant-contact/",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=creativemail"
+ },
+ "providerName": null,
+ "download": "https://downloads.wordpress.org/plugin/creative-mail-by-constant-contact.zip",
+ "slug": "creative-mail-plugin",
+ "basename": "creative-mail-by-constant-contact/creative-mail-plugin.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/creativemail-email-marketing.svg"
+ },
+ "category": "Content Monetization"
},
{
- "name": "Content Monetization",
- "priority": 40
+ "type": "plugin",
+ "name": "Product Search",
+ "description": "Speed up search for your customers with a predictive real-time search engine.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/product-search.svg"
+ },
+ "category": "Customer Engagement"
},
{
- "name": "Payments",
- "priority": 20
+ "type": "plugin",
+ "name": "PDP Tab Manager",
+ "description": "Setup customized tabs in product pages to show all the info you need.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/pdp-tab-manager.svg"
+ },
+ "category": "Product Management"
},
{
- "name": "Search Engine Optimization",
- "priority": 30
+ "type": "plugin",
+ "name": "Social Login",
+ "description": "Allow your users to save time and login or signup using their social profiles.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/social-login.svg"
+ },
+ "category": "Customer Engagement"
},
{
- "name": "Customer Engagement",
+ "type": "plugin",
+ "name": "ecomdash",
+ "description": "Security, performance, and marketing tools made by WordPress experts.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://automattic.com/"
+ },
+ "url": "https://jetpack.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/ecomdash.svg"
+ },
+ "category": "Store Operations"
+ },
+ {
+ "type": "plugin",
+ "name": "Memberships",
+ "description": "Offer exclusive content to customers who sign up as members in your store.",
+ "longDescription": null,
+ "author": {
+ "name": "Yith",
+ "url": "https://yith.com"
+ },
+ "url": "https://yith.com/tbd/memberships/",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/"
+ },
+ "providerName": null,
+ "download": "https://yith.com/tbd/memberships/tbd.zip",
+ "slug": "memberships",
+ "basename": "yith-memberships/memberships.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/memberships.svg"
+ },
+ "category": "Content Monetization"
+ },
+ {
+ "type": "plugin",
+ "name": "Jetpack Forms",
+ "description": "Capture contacts, leads, and questions from your posts and pages",
+ "longDescription": "Build a robust contact list and manage subscriber relationships effectively, enhancing your marketing efforts.",
+ "author": {
+ "name": "Automattic",
+ "url": "https://jetpack.com/"
+ },
+ "url": "https://jetpack.com/",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/edit.php?post_type=feedback"
+ },
+ "providerName": null,
+ "download": "https://tbd.com/jetpack.zip",
+ "slug": "jetpack",
+ "basename": "jetpack/jetpack.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/jetpack-forms.svg"
+ },
+ "category": "Core Tools"
+ },
+ {
+ "type": "plugin",
+ "name": "Points & Rewards",
+ "description": "Reward customer loyalty with an effective points program.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/points-rewards.svg"
+ },
+ "category": "Customer Engagement"
+ },
+ {
+ "type": "plugin",
+ "name": "SMS Notifications",
+ "description": "You and your customer can stay updated on all order activity via SMS.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/sms-notifications.svg"
+ },
+ "category": "Store Operations"
+ },
+ {
+ "type": "plugin",
+ "name": "Bookings & Appointments",
+ "description": "Manage renting or booking of services and items.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/bookings-appointments.svg"
+ },
+ "category": "Sales & Checkout"
+ },
+ {
+ "type": "plugin",
+ "name": "Store Locator",
+ "description": "Enable a store locator on your website to help customers find you easily.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/store-locator.svg"
+ },
+ "category": "Store Operations"
+ },
+ {
+ "type": "plugin",
+ "name": "Product Filters",
+ "description": "Offer exclusive content to customers who sign up as members in your store.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/product-filters.svg"
+ },
+ "category": "Customer Engagement"
+ },
+ {
+ "type": "plugin",
+ "name": "Affiliate Programs",
+ "description": "Grant your affiliates earnings each time someone purchases from their link.",
+ "longDescription": null,
+ "author": {
+ "name": "Bluehost",
+ "url": "https://bluehost.com"
+ },
+ "url": "https://tbd.com/",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/wonderblocks-example"
+ },
+ "providerName": null,
+ "download": "https://tbd.com/tbd.zip",
+ "slug": "commerce-entitlement",
+ "basename": "commerce-entitlement/commerce-entitlement.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/affiliate-programs.svg"
+ },
+ "category": "Content Monetization"
+ },
+ {
+ "type": "plugin",
+ "name": "Product Catalog Mode",
+ "description": "Encourage customers to contact you for pricing or additional information.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/product-catalog-mode.svg"
+ },
+ "category": "Product Management"
+ },
+ {
+ "type": "plugin",
+ "name": "Wishlists",
+ "description": "Let customers add products to lists and share them with family and friends.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/wishlists.svg"
+ },
+ "category": "Customer Engagement"
+ },
+ {
+ "type": "plugin",
+ "name": "Yoast Video SEO",
+ "description": "Automate technical SEO for videos to drive search traffic to your website.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://yoast.com"
+ },
+ "url": "https://yoast.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/yoast-video-seo.svg"
+ },
+ "category": "Search Engine Optimization"
+ },
+ {
+ "type": "plugin",
+ "name": "WonderCart",
+ "description": "Generate more sales with custom upsell, cross-sell and other campaigns.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/wondercart.svg"
+ },
+ "category": "Sales & Checkout"
+ },
+ {
+ "type": "plugin",
+ "name": "Customize My Account Page",
+ "description": "Add videos, files, discount codes, and more to your customers account page.",
+ "longDescription": null,
+ "author": {
+ "name": "Example",
+ "url": "https://example.com"
+ },
+ "url": "https://example.com",
+ "cta": {
+ "text": "Manage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/example"
+ },
+ "providerName": null,
+ "download": "https://example.com/example.zip",
+ "slug": "example",
+ "basename": "example.com/example.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/entitlements/customize-my-account-page.svg"
+ },
+ "category": "Customer Engagement"
+ },
+ {
+ "type": "plugin",
+ "name": "WonderBlocks",
+ "description": "Build webpages fast with tailored block patterns and page templates.",
+ "longDescription": "Build webpages fast with tailored block patterns and page templates and then some.",
+ "author": {
+ "name": "Bluehost",
+ "url": "https://bluehost.com"
+ },
+ "url": null,
+ "cta": {
+ "text": "Build a Webpage",
+ "url": "{siteUrl}/wp-admin/admin.php?page=bluehost#/wonderblocks-example"
+ },
+ "providerName": null,
+ "download": "https://tbd.com/wonderblocks.zip",
+ "slug": "wonderblocks",
+ "basename": "wonderblocks/wonderblocks.php",
+ "image": {
+ "primaryImage": "https://cdn.hiive.space/solutions/wonderblocks.svg"
+ },
+ "category": "Core Tools"
+ }
+ ],
+ "categories": [
+ {
+ "name": "Store Operations",
"priority": 70
},
+ {
+ "name": "Search Engine Optimization",
+ "priority": 60
+ },
{
"name": "Sales & Checkout",
"priority": 50
},
{
- "name": "Product Management",
- "priority": 80
+ "name": "Content Monetization",
+ "priority": 20
},
{
- "name": "Core",
+ "name": "Core Tools",
"priority": 10
+ },
+ {
+ "name": "Customer Engagement",
+ "priority": 30
+ },
+ {
+ "name": "Product Management",
+ "priority": 40
}
],
"solutions": [
{
- "name": "Commerce",
- "sku": "WP_SOLUTION_COMMERCE",
- "description": "Harum et et hic neque. Ut alias rerum corrupti velit reiciendis maiores qui rerum.",
- "price": "29.37",
- "fullPrice": "38.51",
- "url": "http://kiehn.org/aliquam-ipsum-totam-ut-et",
+ "name": "Services",
+ "sku": "WP_SOLUTION_SERVICE",
+ "description": "Boost local visibility and streamline your business operations with specialized tools",
+ "price": "0.00",
+ "fullPrice": "0.00",
+ "url": null,
"ctbId": null,
- "features": null
+ "features": [
+ "Includes the
Content Creator bundle",
+ "8 Exclusive Local Business Plugins",
+ "Integrated Invoicing",
+ "Local Social Media and SEO Plugins"
+ ]
},
{
- "name": "Services",
- "sku": "WP_SOLUTION_SERVICE",
- "description": "Minima totam laborum earum. Odit molestiae vel sed. Delectus et qui est reiciendis est reiciendis quia.",
- "price": "24.38",
- "fullPrice": "38.69",
- "url": "http://www.watsica.org/doloribus-aut-non-dolorem.html",
+ "name": "Commerce",
+ "sku": "WP_SOLUTION_COMMERCE",
+ "description": "Promote, sell, and grow your online store with powerful eCommerce tools.",
+ "price": "0.00",
+ "fullPrice": "0.00",
+ "url": null,
"ctbId": null,
- "features": null
+ "features": [
+ "Includes the
Service Business bundle",
+ "Express 1-Click Checkout",
+ "24 Exclusive eCommerce Plugins",
+ "Customizable Customer Account Creation"
+ ]
},
{
"name": "Content Creator",
"sku": "WP_SOLUTION_CREATOR",
- "description": "Fuga quae consectetur at accusamus. At soluta nostrum itaque eveniet quia ut. Est enim eos qui perspiciatis.",
- "price": "20.79",
- "fullPrice": "38.06",
- "url": "http://www.jaskolski.biz/nulla-sequi-rerum-ratione-nobis-doloribus",
+ "description": "Manage your site, build your brand, and monetize your content with essential tools.",
+ "price": "0.00",
+ "fullPrice": "0.00",
+ "url": null,
"ctbId": null,
- "features": null
+ "features": [
+ "Monetize Content with Ease",
+ "4 Exclusive Social Media Plugins",
+ "6 Exclusive Marketing Plugins",
+ "Secure Payment Gateway Included"
+ ]
}
]
}
\ No newline at end of file