adp = $adp; $this->version = $version; } /** * Register post type */ public function register_post_type() { register_post_type( 'adp-popup', array( 'labels' => array( 'name' => esc_html__( 'Popups', 'coffee-guru' ), 'singular_name' => esc_html__( 'Popup', 'coffee-guru' ), 'menu_name' => esc_html__( 'Popups', 'coffee-guru' ), 'name_admin_bar' => esc_html__( 'Popup', 'coffee-guru' ), 'add_new' => esc_html__( 'Add New', 'coffee-guru' ), 'add_new_item' => esc_html__( 'Add New Popup', 'coffee-guru' ), 'new_item' => esc_html__( 'New Popup', 'coffee-guru' ), 'edit_item' => esc_html__( 'Edit Popup', 'coffee-guru' ), 'view_item' => esc_html__( 'View Popup', 'coffee-guru' ), 'all_items' => esc_html__( 'Popups', 'coffee-guru' ), 'search_items' => esc_html__( 'Search Popups', 'coffee-guru' ), 'parent_item_colon' => esc_html__( 'Parent Popups:', 'coffee-guru' ), 'not_found' => esc_html__( 'No popups found.', 'coffee-guru' ), 'not_found_in_trash' => esc_html__( 'No popups found in Trash.', 'coffee-guru' ), ), 'public' => false, 'publicly_queryable' => false, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'has_archive' => false, 'hierarchical' => false, 'menu_position' => 55, 'show_in_menu' => true, 'menu_icon' => 'dashicons-editor-expand', 'supports' => array( 'title', 'editor', 'author', 'thumbnail' ), 'show_in_rest' => true, 'show_in_menu' => 'options-general.php', ) ); } /** * Addd new meta box. */ public function metabox_popup_register() { add_meta_box( 'adp_popup_metabox', esc_html__( 'Popup Settings', 'advanced-popups' ), array( $this, 'metabox_popup_callback' ), array( 'adp-popup' ), 'normal', 'high', null ); } /** * Callback for Popup Meta Box. * * @param object $post Object of post. */ public function metabox_popup_callback( $post ) { $popup_type = adp_get_post_meta( $post->ID, '_adp_popup_type', true, 'content' ); $popup_location = adp_get_post_meta( $post->ID, '_adp_popup_location', true, 'center' ); $popup_preview_image = adp_get_post_meta( $post->ID, '_adp_popup_preview_image', true, 'left' ); $popup_info_text = adp_get_post_meta( $post->ID, '_adp_popup_info_text', true ); $popup_info_buton_label = adp_get_post_meta( $post->ID, '_adp_popup_info_buton_label', true ); $popup_info_button_action = adp_get_post_meta( $post->ID, '_adp_popup_info_button_action', true, 'link' ); $popup_info_button_link = adp_get_post_meta( $post->ID, '_adp_popup_info_button_link', true ); $popup_limit_display = adp_get_post_meta( $post->ID, '_adp_popup_limit_display', true, 1 ); $popup_limit_lifetime = adp_get_post_meta( $post->ID, '_adp_popup_limit_lifetime', true, 30 ); $popup_show_to = adp_get_post_meta( $post->ID, '_adp_popup_show_to', true, 'both' ); $popup_rules_mode = adp_get_post_meta( $post->ID, '_adp_popup_rules_mode', true, 'all' ); $popup_rules = adp_get_post_meta( $post->ID, '_adp_popup_rules', true, array() ); $popup_open_trigger = adp_get_post_meta( $post->ID, '_adp_popup_open_trigger', true, 'delay' ); $popup_open_delay_number = adp_get_post_meta( $post->ID, '_adp_popup_open_delay_number', true, 1 ); $popup_open_scroll_position = adp_get_post_meta( $post->ID, '_adp_popup_open_scroll_position', true, 10 ); $popup_open_scroll_type = adp_get_post_meta( $post->ID, '_adp_popup_open_scroll_type', true, '%' ); $popup_open_manual_selector = adp_get_post_meta( $post->ID, '_adp_popup_open_manual_selector', true ); $popup_close_trigger = adp_get_post_meta( $post->ID, '_adp_popup_close_trigger', true, 'none' ); $popup_close_delay_number = adp_get_post_meta( $post->ID, '_adp_popup_close_delay_number', true, 30 ); $popup_close_scroll_position = adp_get_post_meta( $post->ID, '_adp_popup_close_scroll_position', true, 10 ); $popup_close_scroll_type = adp_get_post_meta( $post->ID, '_adp_popup_close_scroll_type', true, '%' ); $popup_open_animation = adp_get_post_meta( $post->ID, '_adp_popup_open_animation', true, 'popupOpenFade' ); $popup_exit_animation = adp_get_post_meta( $post->ID, '_adp_popup_exit_animation', true, 'popupExitFade' ); $popup_content_box_width = adp_get_post_meta( $post->ID, '_adp_popup_content_box_width', true, 500 ); $popup_notification_box_width = adp_get_post_meta( $post->ID, '_adp_popup_notification_box_width', true, 400 ); $popup_notification_bar_width = adp_get_post_meta( $post->ID, '_adp_popup_notification_bar_width', true, 1024 ); $popup_light_close = adp_get_post_meta( $post->ID, '_adp_popup_light_close', true, false ); $popup_display_overlay = adp_get_post_meta( $post->ID, '_adp_popup_display_overlay', true, false ); $popup_mobile_disable = adp_get_post_meta( $post->ID, '_adp_popup_mobile_disable', true ); $popup_body_scroll_disable = adp_get_post_meta( $post->ID, '_adp_popup_body_scroll_disable', true ); $popup_overlay_close = adp_get_post_meta( $post->ID, '_adp_popup_overlay_close', true ); $popup_esc_close = adp_get_post_meta( $post->ID, '_adp_popup_esc_close', true ); $popup_f4_close = adp_get_post_meta( $post->ID, '_adp_popup_f4_close', true ); // Default location for notification bar. if ( 'notification-bar' === $popup_type ) { if ( 'top' !== $popup_location && 'bottom' !== $popup_location ) { $popup_location = 'bottom'; } } ?> get_object( $rule ); // Get posts. if ( 'post_types' === $group ) { $args = array( 's' => $search, 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'posts_per_page' => 10, 'post_type' => $object, 'paged' => $page, ); $query = new WP_Query( $args ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $data['items'][ $query->post->ID ] = $query->post->post_title; } } if ( $page < (int) $query->max_num_pages ) { $data['pagination'] = true; } else { $data['pagination'] = false; } } // Get terms. if ( 'taxonomies' === $group ) { $terms = get_terms( $object, array( 'hide_empty' => false, ) ); if ( $terms && ! is_wp_error( $terms ) ) { foreach ( $terms as $term ) { $data['items'][ $term->term_id ] = $term->name; } } $data['pagination'] = false; } wp_send_json( $data ); } /** * Register the stylesheets and JavaScript for the admin area. * * @param string $page Current page. */ public function admin_enqueue_scripts( $page ) { global $post_type; if ( 'adp-popup' !== $post_type ) { return; } if ( in_array( $page, array( 'post.php', 'post-new.php' ), true ) ) { // Select2. wp_enqueue_style( 'select2', plugin_dir_url( __FILE__ ) . 'css/select2.min.css' ); wp_enqueue_script( 'select2', plugin_dir_url( __FILE__ ) . 'js/select2.full.min.js', array( 'jquery' ) ); wp_enqueue_script( 'jquery-ui-sortable' ); wp_enqueue_script( 'jquery-ui-tabs' ); // Scripts. wp_enqueue_script( $this->adp, plugin_dir_url( __FILE__ ) . 'js/advanced-popups-admin.js', array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-sortable', 'select2' ), $this->version, false ); wp_localize_script( $this->adp, 'adp_popup_data', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce(), 'label_general' => esc_html__( 'General', 'advanced-popups' ), 'label_post_types' => esc_html__( 'Posts Types', 'advanced-popups' ), 'label_taxonomies' => esc_html__( 'Taxonomies', 'advanced-popups' ), 'btn_label_another' => esc_html__( 'Add another OR rule', 'advanced-popups' ), 'btn_delete' => esc_html__( 'Remove', 'advanced-popups' ), 'select2_placeholder' => esc_html__( 'Find items...', 'advanced-popups' ), 'select2_errorLoading' => esc_html__( 'The results could not be loaded.', 'advanced-popups' ), 'select2_loadingMore' => esc_html__( 'Loading more results...', 'advanced-popups' ), 'select2_noResults' => esc_html__( 'Nothing not found', 'advanced-popups' ), 'select2_searching' => esc_html__( 'Searching...', 'advanced-popups' ), 'select2_removeAllItems' => esc_html__( 'Remove all items', 'advanced-popups' ), 'rules_list' => wp_json_encode( ADP_Popup_Rules::instance()->get_list() ), ) ); // Styles. wp_enqueue_style( $this->adp, adp_style( plugin_dir_url( __FILE__ ) . 'css/advanced-popups-admin.css' ), array(), $this->version, 'all' ); } } }