I built a custom WordPress plugin that sends woocommerce purchase info to a CRM. The plugin works perfectly on localhost. But on live site, whenever I click on the admin menu, I always get redirected to "No Update Required" page.
Here is my main plugin file:
/** * Plugin Name: Woo Crm * Description: Sends customer data to the CRM on purchase. */ if (!defined('ABSPATH')) { echo 'I am a plugin I cannot do anything when called directly.'; exit; } // Config define('PLUGIN_NAME', 'Woo Crm'); define('PLUGIN_SLUG', 'woo_crm'); define('PLUGIN_URL', plugin_dir_url(__FILE__)); define('PLUGIN_PATH', plugin_dir_path(__FILE__)); // Imports require_once(PLUGIN_PATH . 'utils/utils.php'); require_once(PLUGIN_PATH . 'views/views.php'); require_once(PLUGIN_PATH . 'services/crm/crm.php'); require_once(PLUGIN_PATH . 'views/components/settings/settings.php'); class WooCrm { function __construct() { // Register Styles add_action('admin_enqueue_scripts', array($ this, 'register_styles')); // Create Menu Page add_action('admin_menu', array($ this, 'plugin_setup_menu')); // Add Settings Fields to Menu Page add_action('admin_init', array('settings', 'init')); // Woocommerce hook /** * First check if WooCommerce is activated * Then check if hook isn't empty */ if (class_exists('WooCommerce')) { $ hook = get_when_to_send_data_hook(); if (!empty($ hook)) { add_action($ hook, array($ this, 'woo_order_create_client')); } } } function woo_order_create_client($ order_id) { // Create client logic } function plugin_setup_menu() { $ icon_url = PLUGIN_URL . "public/images/dash-icon.png"; add_menu_page(__(PLUGIN_NAME, PLUGIN_SLUG), __(PLUGIN_NAME, PLUGIN_SLUG), 'manage_options', PLUGIN_SLUG, array('views', 'admin'), $ icon_url); } function register_styles() { wp_register_style('woo_crm_admin', PLUGIN_URL . 'public/css/admin.css'); wp_enqueue_style('woo_crm_admin'); } } new WooCrm();
Any help would be highly appreciated.