Advertisement
Guest User

Functions file

a guest
Mar 5th, 2023
457
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.12 KB | None | 0 0
  1. ## Functions file
  2.  
  3. ## Фильтр load more
  4.    add_action('wp_ajax_load_more_projects', 'load_more_projects');
  5.     add_action('wp_ajax_nopriv_load_more_projects', 'load_more_projects');
  6.     function load_more_projects() {    
  7.         $ajaxposts = new WP_Query([ //same as at page-projects.php instead "paged"
  8.           'post_type' => 'post',
  9.           'posts_per_page' => 3,
  10.           'orderby' => 'data',
  11.           'order' => 'DESC',
  12.           'paged' => $_POST['paged'],
  13.           'category_name' => $_POST['category'],
  14.         ]);
  15.  
  16.         $response = '';
  17.         $max_pages = $ajaxposts->max_num_pages;
  18.      
  19.         if($ajaxposts->have_posts()) {
  20.             ob_start();
  21.             while($ajaxposts->have_posts()) {
  22.                 $ajaxposts->the_post();
  23.                 $response .= get_template_part('construction_parts/project-card');
  24.             }
  25.             $output = ob_get_contents();
  26.             ob_end_clean();
  27.         } else {
  28.           $response = '';
  29.         }
  30.  
  31.         $result = [
  32.             'max' => $max_pages,
  33.             'html' => $output,
  34.           ];
  35.      
  36.         echo json_encode($result);
  37.         exit;
  38.       }
  39.  
  40.     ## Фильтр ajax
  41.    add_action('wp_ajax_filter_projects', 'filter_projects');
  42.     add_action('wp_ajax_nopriv_filter_projects', 'filter_projects');
  43.     function filter_projects() {
  44.         $ajaxposts = new WP_Query([
  45.           'post_type' => 'post',
  46.           'posts_per_page' => 3,
  47.           'orderby' => 'data',
  48.           'order' => 'DESC',
  49.           'category_name' =>  $_POST['category'],
  50.         ]);
  51.  
  52.         $response = '';
  53.      
  54.         if($ajaxposts->have_posts()) {
  55.             ob_start();
  56.             while($ajaxposts->have_posts()) {
  57.                 $ajaxposts->the_post();
  58.                 $response .= get_template_part('construction_parts/project-card');
  59.             }
  60.             $output = ob_get_contents();
  61.             ob_end_clean();
  62.         } else {
  63.           $response = 'empty';
  64.         }
  65.        
  66.         $result = [
  67.             'html' => $output,
  68.           ];
  69.      
  70.         echo json_encode($result);
  71.         exit;
  72.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement