Advertisement
ikamal7

jobs-post-query.php

Sep 24th, 2020
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.28 KB | None | 0 0
  1. <?php
  2. $args = array(
  3.     'post_type'      => 'jobs',
  4.     'posts_per_page' => 5,
  5.     'post_status'    => 'publish',
  6. );
  7.  
  8.  
  9. $type       = get_query_var( 'type' );
  10. $industry   = get_query_var( 'industry' );
  11. $location   = get_query_var( 'location' );
  12. $role       = get_query_var( 'role' );
  13. $experience = get_query_var( 'experience' );
  14. $ql         = get_query_var( 'ql' );
  15.  
  16. /* if ( !empty( $search_q ) && $post_type == 'jobs' ) {
  17.     $args = array(
  18.         's'         => $search_q,
  19.         'post_type' => 'jobs',
  20.     );
  21. } */
  22.  
  23. if ( !empty( $type ) ) {
  24.     if (!in_array('all', $type) ) {
  25.         $args['tax_query'] = array(
  26.             array(
  27.                 'taxonomy' => 'job-type',
  28.                 'field'    => 'slug',
  29.                 'terms'    => $type,
  30.             ),
  31.         );
  32.     } else {
  33.         $term_id = [];
  34.         $_terms  = get_terms( ['taxonomy' => 'job-type', 'hide_empty' => true] );
  35.         foreach ( $_terms as $_term ) {
  36.             $term_id[] = $_term->term_id;
  37.         }
  38.  
  39.         $args['tax_query'] = array(
  40.             array(
  41.                 'taxonomy' => 'job-type',
  42.                 'field'    => 'term_id',
  43.                 'terms'    => $term_id,
  44.             ),
  45.         );
  46.     }
  47. }
  48.  
  49. if ( !empty( $industry ) ) {
  50.     if ( !in_array('all', $industry )) {
  51.         $args['tax_query'] = array(
  52.             array(
  53.                 'taxonomy' => 'industry',
  54.                 'field'    => 'slug',
  55.                 'terms'    => $industry,
  56.             ),
  57.         );
  58.     } else {
  59.         $term_id = [];
  60.         $_terms  = get_terms( ['taxonomy' => 'industry', 'hide_empty' => true] );
  61.         foreach ( $_terms as $_term ) {
  62.             $term_id[] = $_term->term_id;
  63.         }
  64.         $args['tax_query'] = array(
  65.             array(
  66.                 'taxonomy' => 'industry',
  67.                 'field'    => 'term_id',
  68.                 'terms'    => $term_id,
  69.             ),
  70.         );
  71.     }
  72. }
  73.  
  74. if ( !empty( $location ) ) {
  75.     if ( !in_array('all', $location ) ) {
  76.         $args['tax_query'] = array(
  77.             array(
  78.                 'taxonomy' => 'job-location',
  79.                 'field'    => 'slug',
  80.                 'terms'    => $location,
  81.             ),
  82.         );
  83.     } else {
  84.         $term_id = [];
  85.         $_terms  = get_terms( ['taxonomy' => 'job-location', 'hide_empty' => true] );
  86.         foreach ( $_terms as $_term ) {
  87.             $term_id[] = $_term->term_id;
  88.         }
  89.         $args['tax_query'] = array(
  90.             array(
  91.                 'taxonomy' => 'job-location',
  92.                 'field'    => 'term_id',
  93.                 'terms'    => $term_id,
  94.             ),
  95.         );
  96.     }
  97. }
  98.  
  99. if ( !empty( $role ) ) {
  100.     if (!in_array('all', $role ) ) {
  101.         $args['tax_query'] = array(
  102.             array(
  103.                 'taxonomy' => 'job-speciality',
  104.                 'field'    => 'slug',
  105.                 'terms'    => $role,
  106.             ),
  107.         );
  108.     } else {
  109.         $term_id = [];
  110.         $_terms  = get_terms( ['taxonomy' => 'job-speciality', 'hide_empty' => true] );
  111.         foreach ( $_terms as $_term ) {
  112.             $term_id[] = $_term->term_id;
  113.         }
  114.         $args['tax_query'] = array(
  115.             array(
  116.                 'taxonomy' => 'job-speciality',
  117.                 'field'    => 'term_id',
  118.                 'terms'    => $term_id,
  119.             ),
  120.         );
  121.     }
  122. }
  123.  
  124. if ( !empty( $ql ) ) {
  125.     if ( !in_array('all', $ql ) ) {
  126.         $args['meta_query'] = array(
  127.             array(
  128.                 'key'     => 'qualification',
  129.                 'value'   => $ql,
  130.                 'compare' => 'IN',
  131.             ),
  132.         );
  133.     } else {
  134.         $args['meta_query'] = array(
  135.             array(
  136.                 'key'     => 'qualification',
  137.                 'compare' => 'EXISTS',
  138.             ),
  139.         );
  140.     }
  141. }
  142.  
  143. if ( !empty( $experience ) ) {
  144.     if ( !in_array('all', $experience ) ) {
  145.         $args['meta_query'] = array(
  146.             array(
  147.                 'key'     => 'experience',
  148.                 'value'   => strval( $experience ),
  149.                 'compare' => 'IN',
  150.             ),
  151.         );
  152.     } else {
  153.         $args['meta_query'] = array(
  154.             array(
  155.                 'key'     => 'experience',
  156.                 'compare' => 'EXISTS',
  157.             ),
  158.         );
  159.     }
  160. }
  161.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement