# storeengine/2.2.0/includes/shortcode/product-description.php

StoreEngine — Complete eCommerce Solution with Memberships, Licensing, Affiliates &amp; More, version 2.2.0. 44 lines.

- Page: https://pluginprobe.com/plugins/storeengine/2.2.0/code/includes/shortcode/product-description.php
- Raw: https://pluginprobe.com/plugins/storeengine/2.2.0/raw/includes/shortcode/product-description.php
- Modified: 2025-06-04T15:10:52+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/storeengine/2.2.0/code/includes/shortcode/product-description.php#L10-L20`.

```php
<?php

namespace StoreEngine\Shortcode;

use StoreEngine\Utils\Helper;
use StoreEngine\Utils\Template;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

class ProductDescription {

	public function __construct() {
		add_shortcode( 'storeengine_product_description', [ $this, 'render' ] );
	}

	public function render( array $attrs ) {
		$attrs = shortcode_atts( [
			'label'      => __( 'Description', 'storeengine' ),
			'product_id' => null,
		], $attrs );

		if ( empty( $attrs['product_id'] ) ) {
			return __( 'Product ID is required', 'storeengine' );
		}

		$product_id = (int) $attrs['product_id'];
		$product    = Helper::get_product( $product_id );
		if ( ! $product ) {
			return __( 'Product not found', 'storeengine' );
		}

		ob_start();
		Template::get_template( 'shortcode/product-description.php', [
			'label'   => $attrs['label'],
			'content' => $product->get_content(),
		] );

		return ob_get_clean();
	}

}

```
