_constants();
$this->_hooks();
}
protected function _constants()
{
// Plugin Version
define('APT_PLUGIN_VER', '1.5.4');
// Plugin Text Domain
define('APT_TXTDM', 'abc-pricing-table');
// Plugin Name
define('APT_PLUGIN_NAME', 'Pricing Table');
// Plugin Slug
define('APT_PLUGIN_SLUG', 'abc-pricing');
// Plugin Directory Path
define('APT_PLUGIN_DIR', plugin_dir_path(__FILE__));
// Plugin Directory URL
define('APT_PLUGIN_URL', plugin_dir_url(__FILE__));
} // end of constructor function
protected function _hooks()
{
// add testimonial menu item, change menu filter for multisite
add_action('admin_menu', array($this, 'pricing_menu'), 10);
add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts'));
// Create pricing table Custom Post
add_action('init', array($this, 'Pricing'));
// Add meta box to custom post
add_action('add_meta_boxes', array($this, 'admin_add_meta_box'));
add_action('save_post', array($this, '_apt_save_settings'));
// add pfg cpt shortcode column - manage_{$post_type}_posts_columns
add_filter('manage_abc-pricing_posts_columns', array($this, 'set_abc_pricing_shortcode_column_name'));
// add pfg cpt shortcode column data - manage_{$post_type}_posts_custom_column
add_action('manage_abc-pricing_posts_custom_column', array($this, 'custom_abc_pricing_shodrcode_data'), 10, 2);
} // end of hook function
// end of hook function
// Pricing table cpt shortcode column before date columns
public function set_abc_pricing_shortcode_column_name($defaults)
{
$new = array();
unset($defaults['tags']); // remove it from the columns list
foreach ($defaults as $key => $value) {
if ($key == 'date') { // when we find the date column
$new['abc_pricing_shortcode'] = __('Shortcode', 'abc-pricing-table'); // put the tags column before it
}
$new[$key] = $value;
}
return $new;
}
// abc cpt shortcode column data
public function custom_abc_pricing_shodrcode_data($column, $post_id)
{
switch ($column) {
case 'abc_pricing_shortcode':
echo "";
echo "";
echo "";
break;
}
}
public function pricing_menu()
{
add_submenu_page('edit.php?post_type=' . APT_PLUGIN_SLUG, __('Our Plugins', 'abc-pricing-table'), __('Our Plugins', 'abc-pricing-table'), 'manage_options', 'abc-pricing-our-plugins', array($this, '_abcpt_our_plugins_page'));
add_submenu_page('edit.php?post_type=' . APT_PLUGIN_SLUG, __('Our Themes', 'abc-pricing-table'), __('Our Themes', 'abc-pricing-table'), 'manage_options', 'abc-pricing-our-themes', array($this, '_abcpt_our_themes_page'));
}
public function admin_enqueue_scripts($hook)
{
if ('edit.php' === $hook && isset($_GET['post_type']) && 'abc-pricing' === $_GET['post_type']) {
wp_enqueue_script('apt-admin-list-js', APT_PLUGIN_URL . 'assets/js/apt-admin-list.js', array('jquery'), APT_PLUGIN_VER, true);
}
if ('post-new.php' === $hook || 'post.php' === $hook) {
if ('abc-pricing' === get_post_type()) {
wp_enqueue_script('apt-popper-min-js', APT_PLUGIN_URL . 'assets/js/popper.min.js', array('jquery'), '2.0', true);
wp_enqueue_script('apt-bootstrap-min-js', APT_PLUGIN_URL . 'assets/js/bootstrap.min.js', array('jquery'), '4.3.1', true);
wp_enqueue_script('apt-bootstrap-iconset-all-min-js', APT_PLUGIN_URL . 'assets/js/bootstrap-iconpicker-iconset-all.min.js', array('jquery'), '1.10.0', true);
wp_enqueue_script('apt-bootstrap-iconpicker-min-js', APT_PLUGIN_URL . 'assets/js/bootstrap-iconpicker.min.js', array('jquery'), '1.10.0', true);
wp_enqueue_script('apt-color-picker-js', APT_PLUGIN_URL . 'assets/js/apt-color-picker.js', array('wp-color-picker'), '1.0.0', true);
wp_enqueue_script('apt-admin-js', APT_PLUGIN_URL . 'assets/js/apt-admin.js', array('jquery', 'wp-color-picker', 'apt-bootstrap-min-js', 'apt-bootstrap-iconpicker-min-js'), APT_PLUGIN_VER, true);
wp_localize_script('apt-admin-js', 'apt_admin_i18n', array(
'yes' => __('Yes', 'abc-pricing-table'),
'no' => __('No', 'abc-pricing-table'),
'name' => __('Name', 'abc-pricing-table'),
'pricing' => __('Pricing', 'abc-pricing-table'),
'pricing_plan' => __('Pricing Plan', 'abc-pricing-table'),
'pricing_features' => __('Pricing Features', 'abc-pricing-table'),
'button_text' => __('Button Text', 'abc-pricing-table'),
'button_url' => __('Button Url', 'abc-pricing-table'),
'confirm_delete' => __('Are sure to delete this columns from table?', 'abc-pricing-table'),
));
wp_enqueue_style('wp-color-picker');
wp_enqueue_style('apt-bootstrap-css', APT_PLUGIN_URL . 'assets/css/pricing-admin-bootstrap.css', array(), '4.3.1');
wp_enqueue_style('apt-bootstrap-iconpicker-css', APT_PLUGIN_URL . 'assets/css/bootstrap-iconpicker.min.css', array(), '1.10.0');
wp_enqueue_style('apt-toogle-button-css', APT_PLUGIN_URL . 'assets/css/toogle-button.css');
wp_enqueue_style('apt-styles-css', APT_PLUGIN_URL . 'assets/css/styles.css');
wp_enqueue_style('metabox-css', APT_PLUGIN_URL . 'assets/css/metabox.css');
wp_enqueue_style('apt-all-css', APT_PLUGIN_URL . 'assets/css/all.css', array(), '5.15.2');
wp_enqueue_style('team-setting-css', APT_PLUGIN_URL . 'assets/css/team-setting.css');
}
}
if ('abc-pricing_page_abc-pricing-our-plugins' === $hook || 'abc-pricing_page_abc-pricing-our-themes' === $hook) {
wp_enqueue_style('abc-pricing-our-plugins-style', APT_PLUGIN_URL . 'assets/css/our-plugins-style.css');
}
}
public function Pricing()
{
$labels = array(
'name' => __('Pricing Table', 'abc-pricing-table'),
'singular_name' => __('Pricing Table', 'abc-pricing-table'),
'menu_name' => __('Pricing Table', 'abc-pricing-table'),
'name_admin_bar' => __('Pricing Table', 'abc-pricing-table'),
'add_new' => __('Add Pricing Table', 'abc-pricing-table'),
'add_new_item' => __('Add Pricing Table', 'abc-pricing-table'),
'new_item' => __('New Pricing Table', 'abc-pricing-table'),
'edit_item' => __('Edit Pricing Table', 'abc-pricing-table'),
'view_item' => __('View Pricing Table', 'abc-pricing-table'),
'all_items' => __('All Pricing Table', 'abc-pricing-table'),
'search_items' => __('Search Pricing Table', 'abc-pricing-table'),
'parent_item_colon' => __('Parent Pricing Table', 'abc-pricing-table'),
'not_found' => __('No Pricing Table', 'abc-pricing-table'),
'not_found_in_trash' => __('No Pricing Table found in Trash', 'abc-pricing-table'),
);
$args = array(
'description' => __('Description', 'abc-pricing-table'),
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
// 'rewrite' => array( 'slug' => 'pricing' ),
'capability_type' => 'page',
'has_archive' => true,
'hierarchical' => false,
'menu_icon' => 'dashicons-cart',
'menu_position' => null,
'supports' => array('title'),
);
register_post_type('abc-pricing', $args);
}
public function admin_add_meta_box()
{
add_meta_box('apt-pricing-table-settings', __('Add Pricing Table', 'abc-pricing-table'), array($this, 'apt_pricing_upload'), 'abc-pricing', 'normal', 'default');
add_meta_box('apt-upgrade-pro', __('Upgrade Pricing Table Pro', 'abc-pricing-table'), array($this, 'apt_upgrade_pro'), 'abc-pricing', 'side', 'default');
add_meta_box('apt-rate-plugin', __('Rate Our Plugin', 'abc-pricing-table'), array($this, 'apt_rate_plugin'), 'abc-pricing', 'side', 'default');
}
/** meta upgrade pro **/
public function apt_upgrade_pro()
{ ?>
Live Demo
Upgrade Pro
If you like our plugin then please Rate us on WordPress