Advertisement
Guest User

functions.php

a guest
Dec 2nd, 2022
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.15 KB | None | 0 0
  1. ## ajax load more
  2.    add_action('wp_ajax_load_more_projects', 'load_more_projects');
  3.     add_action('wp_ajax_nopriv_load_more_projects', 'load_more_projects');
  4.     function load_more_projects() {    
  5.         $ajaxposts = new WP_Query([
  6.           'post_type' => 'post',
  7.           'posts_per_page' => 1,
  8.           'orderby' => 'data',
  9.           'order' => 'desc',
  10.           'category_name' => $_POST['category'],
  11.           'paged' => $_POST['paged'],
  12.         ]);
  13.  
  14.         $response = '';
  15.         $max_pages = $ajaxposts->max_num_pages;
  16.      
  17.         if($ajaxposts->have_posts()) {
  18.             ob_start();
  19.             while($ajaxposts->have_posts()) {
  20.                 $ajaxposts->the_post();
  21.                 $response .= get_template_part('construction_parts/project-card');
  22.             }
  23.             $output = ob_get_contents();
  24.             ob_end_clean();
  25.         } else {
  26.           $response = '';
  27.         }
  28.  
  29.         $result = [
  30.             'max' => $max_pages,
  31.             'html' => $output,
  32.           ];
  33.      
  34.         echo json_encode($result);
  35.         exit;
  36.       }
  37.  
  38.     ## ajax filter
  39.    add_action('wp_ajax_filter_projects', 'filter_projects');
  40.     add_action('wp_ajax_nopriv_filter_projects', 'filter_projects');
  41.     function filter_projects() {
  42.         $ajaxposts = new WP_Query([
  43.           'post_type' => 'post',
  44.           'posts_per_page' => 1,
  45.           'orderby' => 'data',
  46.           'order' => 'desc',
  47.           'category_name' =>  $_POST['category'],
  48.           'paged' => $_POST['paged'],
  49.         ]);
  50.  
  51.         $response = '';
  52.         $max_pages = $ajaxposts->max_num_pages;
  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 = '';
  64.         }
  65.  
  66.         $result = [
  67.             'max' => $max_pages,
  68.             'html' => $output,
  69.           ];
  70.      
  71.         echo json_encode($result);
  72.         exit;
  73.       }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement