['title']], 'dashicons-editor-table' ); // add custom columns below // includes all files $this->apt_include_files(); $metabox = new PT_Metabox(); $shortcode = new PT_Shortcode(); // admin hooks and filter if ( is_admin() ) { //actions add_action( 'admin_enqueue_scripts', array( $this, 'pt_admin_enqueue_scripts' ), 9999 ); add_action('plugins_loaded', [ $this, 'load_textdomain' ] ); add_action('admin_menu', [$this, 'add_menu']); //filters add_filter( 'plugin_action_links_' . PT_BASE, [$this, 'add_pro_version_link'] ); add_filter('manage_'.PT_POST_TYPE.'_posts_columns', [$this, 'add_new_columns']); add_action('manage_'.PT_POST_TYPE.'_posts_custom_column', [$this, 'manage_custom_columns'], 10, 2); add_filter( 'enter_title_here', [$this, 'change_title_text'] ); } // all other hooks // enqueue all front-end scripts. 'template_redirect' is the best hook to use for front-end scripts add_action('template_redirect', [$this, 'pt_user_enqueue_scripts']); // Enables shortcode for Widget add_filter('widget_text', 'do_shortcode'); } public function add_menu() { add_submenu_page( 'edit.php?post_type='.PT_POST_TYPE, __('Upgrade to Pro', PT_TEXTDOMAIN), __('Upgrade', PT_TEXTDOMAIN), 'manage_options', 'pt-upgrade', [$this, 'admin_menu_cb'] ); } public function admin_menu_cb( ) { include_once PT_DIR . 'includes/pt-upgrade.php'; } public function pt_admin_enqueue_scripts( $page ) { global $typenow; if ( PT_POST_TYPE == $typenow ) { wp_enqueue_style('cmb2-style', PT_ADMIN_ASSETS . 'css/cmb2.min.css', false, PT_VERSION); wp_enqueue_style('pt-admin-style', PT_ADMIN_ASSETS . 'css/pt-admin.css', false, PT_VERSION); wp_enqueue_style('pt-admin-nice-select', PT_ADMIN_ASSETS . 'css/nice-select.css', false, PT_VERSION); wp_dequeue_style('jquery-ui-css'); wp_enqueue_style('jquery-ui', PT_ADMIN_ASSETS . 'css/jquery-ui.min.css', ['pt-admin-style'], PT_VERSION); wp_enqueue_style('sweetalertcss', 'https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css', false, PT_VERSION); wp_enqueue_script('nice-select-js', PT_ADMIN_ASSETS . 'js/jquery.nice-select.min.js', ['jquery'], PT_VERSION, true); wp_enqueue_script('sweetalert', 'https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js', ['jquery'], PT_VERSION, true); wp_enqueue_script('admin-js', PT_ADMIN_ASSETS . 'js/apt-admin.js', ['jquery', 'nice-select-js', 'wp-color-picker', 'jquery-ui-accordion', 'jquery-ui-slider', 'sweetalert', ], PT_VERSION, true); wp_enqueue_style('wp-color-picker'); } } public function pt_user_enqueue_scripts() { // enqueue bootstrap here so that it loads before style.css wp_enqueue_style('pt-bootstrap-min', PT_PUBLIC_ASSETS . 'css/bootstrap.min.css', false, PT_VERSION); wp_register_style('pt-core', PT_PUBLIC_ASSETS . 'css/core.css', false, PT_VERSION); } public function add_pro_version_link($links) { unset($links['edit']); // protect editing the plugin $links[] = sprintf( '%s', 'post-new.php?post_type='.PT_POST_TYPE, 'Add New Table', __( 'Add New Table', PT_TEXTDOMAIN ) ); $links[] = sprintf( '%s', 'http://adlplugins.com/plugin/adl-pricing-table-pro', 'Upgrade to PRO version for Priority SUPPORT and Many Amazing Features.', __( 'Get Pro Version', PT_TEXTDOMAIN ) ); return $links; } //Load text domain public function load_textdomain( ){ load_textdomain(PT_TEXTDOMAIN, false, plugin_basename( dirname( __FILE__ ) ) . '/languages/'); } /** * Includes all required files * @return void */ public function apt_include_files( ){ require_once PT_DIR . 'includes/pt-metabox.php'; require_once PT_DIR . 'includes/pt-metabox.php'; require_once PT_DIR . 'includes/pt-shortcode.php'; } public function add_new_columns($new_columns){ $new_columns = []; $new_columns['cb'] = ''; $new_columns['title'] = __('Table Name', PT_TEXTDOMAIN); $new_columns['pt_shortcode_col'] = __('Table Shortcode', PT_TEXTDOMAIN); $new_columns['pt_shortcode_col_2'] = __('Shortcode For Template File', PT_TEXTDOMAIN); $new_columns['date'] = __('Created at', PT_TEXTDOMAIN); return $new_columns; } public function manage_custom_columns( $column_name, $post_id ) { switch($column_name){ case 'pt_shortcode_col': ?> post_type ) ? 'Enter a table name' : $title; } public function warn_if_unsupported_wp() { if ( $this->check_minimum_required_wp_version() ) { $wp_ver = ! empty( $GLOBALS['wp_version'] ) ? $GLOBALS['wp_version'] : '(undefined)'; ?>
req_wp_version,
esc_html( $wp_ver )
);
echo '
';
printf( __( 'Please upgrade your WordPress installation or download latest version from here.', PT_TEXTDOMAIN ),
'https://wordpress.org/download/'
);
?>