Guest User

Code

a guest
Jan 26th, 2022
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.32 KB | None | 0 0
  1. <?php
  2. add_filter('rwmb_meta_boxes', 'qrsi_select_advanced');
  3.  
  4. function qrsi_select_advanced($meta_boxes)
  5. {
  6.     $prefix = '';
  7.  
  8.     $post_id = null;
  9.     if (isset($_GET['post'])) {
  10.         $post_id = intval($_GET['post']);
  11.     } elseif (isset($_POST['post_ID'])) {
  12.         $post_id = intval($_POST['post_ID']);
  13.     }
  14.    
  15.     $course_args = array(
  16.         'post_type' => 'course',
  17.         'relationship' => array(
  18.             'id'   => 'event-to-course-relationship',
  19.             'from' => $post_id,
  20.         ),
  21.     );
  22.  
  23.     $course_query = new WP_Query($course_args);
  24.  
  25.     if ($course_query->have_posts()) {
  26.  
  27.         while ($course_query->have_posts()) {
  28.  
  29.             $course_query->the_post();
  30.  
  31.             $course_post_id = get_the_ID();
  32.         }
  33.     }
  34.    
  35.     $meta_boxes[] = [
  36.         'title'      => __('QRSI2', 'your-text-domain'),
  37.         'id'         => 'qrsi2',
  38.         'post_types' => ['events'],
  39.         'include'    => [
  40.             'relation'       => 'OR',
  41.             'event-category' => [15],
  42.         ],
  43.  
  44.  
  45.         'fields' => [
  46.             [
  47.                 'name'       => __('Schedule Block 1', 'your-text-domain'),
  48.                 'id'         => $prefix . 'schedule_block_1',
  49.                 'type'       => 'group',
  50.                 'clone'      => true,
  51.                 'sort_clone' => true,
  52.                 'fields'     => array(
  53.                     array(
  54.                         'name' => __('Course Name', 'your-text-domain'),
  55.                         'id'   => $prefix . 'course_name',
  56.                         'type' => 'post',
  57.                         'post_type' => 'course',
  58.                         'field_type' => 'select_advanced',
  59.                         'columns' => 6,
  60.                         'placeholder' => __('Select an Item', 'your-text-domain'),
  61.                         'query_args' => array(
  62.                             'relationship' => array(
  63.                                 'id'   => 'event-to-course-relationship',
  64.                                 'from' => $post_id,
  65.                             ),
  66.                             'post_status' => 'publish',
  67.                             'posts_per_page' => -1,
  68.                             'order' => 'ASC',
  69.                             'orderby' => 'name',
  70.                         )
  71.                     ),
  72.  
  73.                     array(
  74.                         'name' => __('Scholar Name', 'your-text-domain'),
  75.                         'id'   => $prefix . 'scholar_name',
  76.                         'type' => 'post',
  77.                         'post_type' => 'scholar',
  78.                         'field_type' => 'select_advanced',
  79.                         'columns' => 6,
  80.                         'placeholder' => __('Select an Item', 'your-text-domain'),
  81.                         'query_args' => array(
  82.                             'relationship' => array(
  83.                             'id'   => 'from-course-to-scholar',
  84.                             'from' => $course_post_id,
  85.                         ),
  86.                             'post_status' => 'publish',
  87.                             'posts_per_page' => -1,
  88.                             'order' => 'ASC',
  89.                             'orderby' => 'name',
  90.                         )
  91.                     )
  92.                 )
  93.             ],
  94.         ],
  95.  
  96.     ];
  97.  
  98.     return $meta_boxes;
  99. }
  100.  
Advertisement
Add Comment
Please, Sign In to add comment