PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 3.4.0
ShopBuilder – WooCommerce Builder For Elementor v3.4.0
3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.3.0 All 62 releases
shopbuilder / shopbuilder.php

shopbuilder.php in ShopBuilder – WooCommerce Builder For Elementor 3.4.0, at shopbuilder.php

88 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @wordpress-plugin
4 * Plugin Name: ShopBuilder - WooCommerce Builder For Elementor
5 * Plugin URI: https://shopbuilderwp.com/
6 * Description: ShopBuilder is the ultimate WooCommerce design solution for Elementor, letting you build and customize shop, product, cart, checkout, and account pages with ease while offering a wide range of features like Quick View, Wishlist, Compare, Variation Swatches, Mini Cart, Product Add-Ons, and more to create stunning online stores.
7 * Version: 3.4.0
8 * Author: RadiusTheme
9 * Author URI: https://radiustheme.com
10 * Text Domain: shopbuilder
11 * Domain Path: /languages
12 * WC requires at least: 3.2
13 * WC tested up to: 10.4
14 * Elementor tested up to: 4.2
15 * Elementor Pro tested up to: 4.1
16 * License: GPLv3
17 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
18 *
19 * @package RadiusTheme\SB
20 */
21
22 use RadiusTheme\SB\ShopBuilder;
23
24 // Do not allow directly accessing this file.
25 if ( ! defined( 'ABSPATH' ) ) {
26 exit( 'This script cannot be accessed directly.' );
27 }
28
29 /**
30 * Define Constants.
31 */
32 define( 'RTSB_VERSION', '3.4.0' );
33 define( 'RTSB_FILE', __FILE__ );
34 define( 'RTSB_PATH', plugin_dir_path( __FILE__ ) );
35 define( 'RTSB_ACTIVE_FILE_NAME', plugin_basename( __FILE__ ) );
36 define( 'RTSB_ABSPATH', __DIR__ . '/' );
37
38
39 if ( ! defined( 'RTSB_URL' ) ) {
40 // Derive the URL from the actual folder name so asset URLs stay correct
41 // even when the plugin is symlinked from outside wp-content (where
42 // plugins_url( '', __FILE__ ) would leak the real filesystem path → 404).
43 $rtsb_dirname = basename( __DIR__ );
44 define( 'RTSB_URL', plugins_url( $rtsb_dirname ) );
45 }
46
47 /**
48 * App Init.
49 *
50 * Always load the scoped autoloader. vendor_scoped/ is regenerated from
51 * vendor/ by PHP-Scoper on every Composer command (see tools/scoper/run.php)
52 * and is the only autoloader the plugin uses in both development and
53 * production. vendor/ is a temporary Composer/PHP-Scoper working directory
54 * and is never required at runtime.
55 */
56 require_once RTSB_PATH . 'vendor_scoped/autoload.php';
57
58 /**
59 * @return ShopBuilder|null
60 */
61 function rtsb() {
62 static $cached_instance;
63 if ( null !== $cached_instance ) {
64 return $cached_instance ?: null;
65 }
66
67 try {
68 $cached_instance = ShopBuilder::instance();
69 } catch ( \Throwable $e ) {
70 $cached_instance = false;
71 error_log( 'ShopBuilder fatal: ' . $e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine() ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
72 add_action(
73 'admin_notices',
74 function () use ( $e ) {
75 printf(
76 '<div class="notice notice-error"><p><strong>ShopBuilder</strong> encountered an error and has been temporarily disabled. Check the error log for details.</p><p><code>%s</code></p></div>',
77 esc_html( $e->getMessage() )
78 );
79 }
80 );
81 return null;
82 }
83
84 return $cached_instance;
85 }
86
87 rtsb();
88