* @copyright Copyright (c) 2018. * */ if ( ! defined( 'ABSPATH' ) ) { die( 'dont access!' ); } yd_ajax_filter::yd_init(); CLASS yd_ajax_filter { public static function yd_init(){ // to Create field in database register_activation_hook(__FILE__, array(__CLASS__, 'yd_install')); //to group field add_action('admin_init', array(__CLASS__, 'admin_init')); // add widget add_action('widgets_init',function(){register_widget('y_data_filter_widget');}); add_action('wp_enqueue_scripts',array(__CLASS__,'add_js_files')); add_action('wp_ajax_yf_data_filter',array(__CLASS__,'y_data_functions')); add_action('wp_ajax_nopriv_yf_data_filter',array(__CLASS__,'y_data_functions')); // link for General Style on plugin add_action('wp_enqueue_scripts', array(__CLASS__, 'plugin_file')); // insert style in to admin panel add_action('admin_enqueue_scripts', array(__CLASS__, 'admin_style_scripts')); // add admin menu add_action('admin_menu', array(__CLASS__, 'admin_menu')); //hook into the init action and call create_book_taxonomies when it fires add_action( 'init', array(__CLASS__,'create_yd_filter_hierarchical_taxonomy'), 0 ); } public static function yd_install() { // Create option field add_option('yd_div', '.content-area'); add_option('yd_loading_img', ''); add_option('yd_posts_per_page', '4'); } public static function admin_init() { // to group field in database register_setting('yd_filter', 'yd_div'); register_setting('yd_filter', 'yd_loading_img'); register_setting('yd_filter', 'yd_posts_per_page'); } public static function create_yd_filter_hierarchical_taxonomy() { // Add new taxonomy, make it hierarchical like categories $labels = array( 'name' => _x( 'yd_filter', 'yd_filter' ), 'singular_name' => _x( 'yd_filter', 'yd_filter' ), 'search_items' => __( 'Search yd_filter' ), 'all_items' => __( 'All yd_filter' ), 'parent_item' => __( 'Parent yd_filter' ), 'parent_item_colon' => __( 'Parent yd_filter:' ), 'edit_item' => __( 'Edit yd_filter' ), 'update_item' => __( 'Update yd_filter' ), 'add_new_item' => __( 'Add New yd_filter' ), 'new_item_name' => __( 'New yd_filter' ), 'menu_name' => __( 'YD_Filter' ), ); // Now register the taxonomy register_taxonomy('yd_filter',array('post'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'yd_filter' ), )); } public static function add_js_files() { wp_enqueue_script('y_filter_ajax',plugins_url('/js/ajax.js',__FILE__),array('jquery'),null,false); wp_localize_script( 'y_filter_ajax', 'yf_data', array( 'd_ajax_url' => admin_url( 'admin-ajax.php' ), 'y_filter_nonce' => wp_create_nonce('y-filter') )); } /** * Enqueue public-facing style sheet. */ public static function plugin_file() { wp_enqueue_style('yf-user-style', plugins_url('/style/style.css' ,__FILE__)); wp_enqueue_style('yf-grids', plugins_url('/style/grids-responsive.css' ,__FILE__)); } /** * Enqueue admin side scripts and styles */ public static function admin_style_scripts() { wp_enqueue_style('yf-admin-style', plugins_url('/style/admin.css',__FILE__)); } // add admin menu public static function admin_menu() { add_menu_page('y-data filter', 'y-data filter', 'manage_options', 'yd-setting', array(__CLASS__, 'y_data_filter')); add_submenu_page('yd-setting', 'Setting', 'Setting', 'manage_options', 'yd-setting', array(__CLASS__, 'y_data_filter')); add_submenu_page('yd-setting', 'Contact Us', 'Contact Us', 'manage_options', 'yd-about-us', array(__CLASS__, 'about')); } /** * include setting for edite elements */ public static function y_data_filter() { //must check that the user has the required capability if (!current_user_can('manage_options')) { wp_die( __('You do not have sufficient permissions to access this page.') ); } include 'setting.php'; } /** * about me * user support */ public static function about() { echo __('
Contact Me
Thank you for your download
to contact myself with any questions regarding this Ajax Data Filter : yasin.coding@gmail.com