# orderable/1.14.0/inc/class-shortcodes.php

Orderable – Restaurant &amp; Food Ordering System, version 1.14.0. 62 lines.

- Page: https://pluginprobe.com/plugins/orderable/1.14.0/code/inc/class-shortcodes.php
- Raw: https://pluginprobe.com/plugins/orderable/1.14.0/raw/inc/class-shortcodes.php
- Modified: 2022-06-20T12:34:10+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/orderable/1.14.0/code/inc/class-shortcodes.php#L10-L20`.

```php
<?php
/**
 * Shortcodes
 *
 * @package Orderable/Classes
 */

defined( 'ABSPATH' ) || exit;

/**
 * Shortcodes class.
 */
class Orderable_Shortcodes {

	/**
	 * Init.
	 */
	public static function run() {
		add_shortcode( 'orderable_add_to_cart', array( __CLASS__, 'orderable_add_to_cart' ) );
	}

	/**
	 * Add to cart shortcode.
	 *
	 * @param array $args Shortcode arguments.
	 *
	 * @return stirng
	 */
	public static function orderable_add_to_cart( $args ) {
		$defaults = array(
			'product_id' => -1,
		);

		$args    = wp_parse_args( $args, $defaults );
		$product = $args['product_id'];

		if ( $product < 0 ) {
			global $product;
		}

		if ( is_numeric( $product ) ) {
			$product = wc_get_product( $product );
		}

		if ( empty( $product ) ) {
			return;
		}

		ob_start();
		?>
		<div class="orderable-product__actions-button">
			<?php
			 	// Phpcs:ignore -- WordPress.Security.EscapeOutput.OutputNotEscaped.
				echo Orderable_Products::get_add_to_cart_button( $product, 'orderable-product__add-to-order' );
			?>
		</div>
		<?php

		return ob_get_clean();
	}
}

```
