*/ defined( 'ABSPATH' ) || exit; class md_admin_menu_revision_ajax_action { function __construct() {} function my_action_for_add_new_menu_item_html_filter_own(){ $return_data = array(); if ('my_action_for_add_new_menu_item_html_filter' == $_POST['action'] && !empty($_POST['page_no']) && !empty($_POST['post_type'])){ global $_nav_menu_placeholder, $nav_menu_selected_id; $total_page_count =0; $page_html = ''; $post_per_page = get_option('amm_'.sanitize_text_field( $_POST['post_type'] ) ); if(empty($post_per_page)){ $post_per_page = get_option('amm_post_perpage_default'); } if(empty($post_per_page)){ $post_per_page = 50; } if(empty($_POST['amm_menu_query'])){ $post_type_name = sanitize_text_field( $_POST['post_type'] ); $per_page = $post_per_page; $args = array( 'paged' => (int)$_POST['page_no'], 'order' => 'ASC', 'orderby' => 'title', 'posts_per_page' => $per_page, 'post_type' => $post_type_name, 'suppress_filters' => true, 'update_post_term_cache' => false, 'update_post_meta_cache' => false, 'post_status' => 'publish', ); if(!empty($_POST['filter_author']) && 'all' != $_POST['filter_author'] ){ $args['author'] = sanitize_text_field( $_POST['filter_author'] ); } if ( 'page' == $post_type_name ) { if(!empty($_POST['filter_template']) && 'all' != $_POST['filter_template']) { $args['meta_query'] = array( array( 'key' => '_wp_page_template', 'value' => sanitize_text_field( $_POST['filter_template'] ), 'compare' => '=' ) ); } }else{ if(!empty($_POST['filter_category']) && 'all' != $_POST['filter_category']) { //$args['category__in']=$cat_id; $args['category_name']=sanitize_text_field( $_POST['filter_category'] ); } } if(!empty($_POST['filter_textbox'])){ $args['s'] = sanitize_text_field( $_POST['filter_textbox'] );} if($_POST['filter_menu_item'] == 'on'){ $curent_menu_id = array(); $recently_edited = absint( get_user_option( 'nav_menu_recently_edited' ) ); $menu_items = wp_get_nav_menu_items($recently_edited); for ( $amm=0; $amm < count($menu_items); $amm++ ) { $curent_menu_id[] = $menu_items[$amm]->object_id; } //$args['post__not_in']=array(35,2,13); $args['post__not_in']=$curent_menu_id; } $removed_args = array( 'action', 'customlink-tab', 'edit-menu-item', 'menu-item', 'page-tab', '_wpnonce', ); // @todo transient caching of these results with proper invalidation on updating of a post of this type $get_posts = new WP_Query; $posts = $get_posts->query( $args ); $get_posts_for_count = new WP_Query($args); $total_page_count = $get_posts_for_count->found_posts; if ( ! $get_posts->post_count ) { $page_html .= '
  • No Record found
  • '; }else{ $db_fields = false; if ( is_post_type_hierarchical( $post_type_name ) ) { $db_fields = array( 'parent' => 'post_parent', 'id' => 'ID' ); } //$walker = new Walker_Nav_Menu_Checklist( $db_fields ); $walker = new Walker_Nav_Menu_Checklist_md( $db_fields ); $args['walker'] = $walker; /* * If we're dealing with pages, let's put a checkbox for the front * page at the top of the list. */ if ( 'page' == $post_type_name ) { $front_page = 'page' == get_option('show_on_front') ? (int) get_option( 'page_on_front' ) : 0; if ( ! empty( $front_page ) ) { $front_page_obj = get_post( $front_page ); $front_page_obj->front_or_home = true; array_unshift( $posts, $front_page_obj ); } else{ $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1; } } $post_type = get_post_type_object( $post_type_name ); $archive_link = get_post_type_archive_link( $post_type_name ); if ( $post_type->has_archive ) { $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1; array_unshift( $posts, (object) array( 'ID' => 0, 'object_id' => $_nav_menu_placeholder, 'object' => $post_type_name, 'post_content' => '', 'post_excerpt' => '', 'post_title' => $post_type->labels->archives, 'post_type' => 'nav_menu_item', 'type' => 'post_type_archive', 'url' => get_post_type_archive_link( $post_type_name ), ) ); } $posts = apply_filters( "nav_menu_items_{$post_type_name}", $posts, $args, $post_type ); $checkbox_items = walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $posts), 0, (object) $args ); $page_html .= $checkbox_items; } }else{ //amm_menu_query * @param string $taxonomy The taxonomy object. $taxonomy_name = sanitize_text_field( $_POST['post_type'] ); $per_page = $post_per_page; $pagenum = isset( $_REQUEST['page_no'] ) ? absint( $_REQUEST['page_no'] ) : 1; $offset = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0; $args = array( 'child_of' => 0, 'exclude' => '', 'hide_empty' => false, 'hierarchical' => 1, 'include' => '', 'number' => $per_page, 'offset' => $offset, 'order' => 'ASC', 'orderby' => 'name', 'pad_counts' => false ); $terms = get_terms( $taxonomy_name, $args ); if ( ! $terms || is_wp_error($terms) ) { $page_html .= '
  • No Record found
  • '; return; } $num_pages = ceil( wp_count_terms( $taxonomy_name , array_merge( $args, array('number' => '', 'offset' => '') ) ) / $per_page ); $total_page_count= wp_count_terms( $taxonomy_name , array_merge( $args, array('number' => '', 'offset' => '') ) ); $post_type_name = $taxonomy_name; $db_fields = false; if ( is_taxonomy_hierarchical( $taxonomy_name ) ) { $db_fields = array( 'parent' => 'parent', 'id' => 'term_id' ); } $walker = new Walker_Nav_Menu_Checklist_md( $db_fields ); $args['walker'] = $walker; $page_html .= walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $terms), 0, (object) $args ); } $return_data['sucess'] = $page_html; $return_data['total_page'] = $total_page_count; }else{ $return_data['error'] = 'Please try again later.'; } echo json_encode($return_data); exit(); } /** * Pagination post per page feature * * * @version 1.0.3 */ function my_action_for_add_pagination_post_per_page_limit_method(){ $return_data = array(); if ('my_action_for_add_pagination_limit' == $_POST['action'] && !empty($_POST['amm_option_key'])){ update_option(sanitize_text_field( $_POST['amm_option_key'] ),sanitize_text_field( $_POST['page_per_post']) ); $return_data['sucess'] = 'ok'; }else{ $return_data['error'] = 'Please try again later.'; } echo json_encode($return_data); exit(); } }