'26799', 'slug' => '3d-product-customizer', 'premium_slug' => '3d-customizer-premium', 'plugin_main_file_path' => dirname( dirname( __FILE__ ) ) . '/product-customizer.php', 'type' => 'plugin', 'public_key' => 'pk_dba046c8a58bfafc6268115946a43', 'is_premium' => false, 'has_addons' => true, 'has_paid_plans' => true, 'is_org_compliant' => true, 'menu' => array( 'slug' => 'dprcu-settings', 'first-path' => 'admin.php?page=dprcu-settings', 'account' => true, 'support' => false, ), 'is_live' => true, ) ); return $dprcu_fs; } // Initialise early so Freemius hooks register in time. dprcu_fs(); do_action( 'dprcu_fs_loaded' ); } /** * Returns the checkout URL for purchasing a license. * * Uses the Freemius SDK when available; falls back to the hosted * checkout page so the link never leads to a dead admin page. * * @return string */ function dprcu_checkout_url() { $fs = dprcu_fs(); if ( $fs ) { return $fs->checkout_url(); } return 'https://checkout.freemius.com/mode/dialog/plugin/26799/'; } /** * Outputs a reusable admin upgrade notice comparing free vs premium features. * * CSS is inlined once per page load via a static flag so the function can be * called multiple times without duplicating styles. * * @param array $args { * @type string $title Heading text for the notice. * @type string[] $free_features List of features the free tier includes. * @type string[] $premium_features List of features unlocked by premium. * } */ function dprcu_premium_notice( $args = array() ) { $title = $args['title'] ?? __( 'Upgrade to Premium', '3d-product-customizer' ); $free_features = $args['free_features'] ?? array(); $premium_features = $args['premium_features'] ?? array(); ?>
'dprcu_model_texture', 'posts_per_page' => -1, 'fields' => 'ids', 'post_status' => 'any', ) ); foreach ( $texture_ids as $id ) { wp_delete_post( $id, true ); // true = force-delete, skip trash } // Clear any cached transients delete_transient( 'dprcu_all_textures' ); } // Register uninstall handler with Freemius $dprcu_fs = dprcu_fs(); if ( $dprcu_fs ) { $dprcu_fs->add_action( 'after_uninstall', 'dprcu_handle_uninstall' ); }