如何在meta_query中搜索匹配的课程,其中ID存储为数字数组' course'?

时间:2016-11-24 14:03:36

标签: php wordpress search

我使用的是自定义帖子,请说出问题'用户发布问题'有一个&post; meta meta'叫做课程',其中有多个课程名称'存储为课程ID(作为数字数组)。我正在进行搜索功能,用户输入课程名称然后使用该课程名称'我得到了“#cid”课程ID,我的问题是如何搜索我的课程ID'使用' meta_query'叫做课程'存储为数字数组?我正在使用WP_Query,下面是我的代码:

存储期间:

  $course_registered = '2013,1919,1827'; // Saving multiple course names as Course ID's
  $post = array(
    'post_title'    => $title,
    'post_content'  => $description,
    'post_status'   => 'draft', 
    'post_type' => "question"  // Use a custom post type if you want to
    );
  wp_insert_post($post);
  update_post_meta( $this->post_ID, 'inistitute_name', $institute_name );
  update_post_meta( $this->post_ID, 'course', $course_registered );

搜索查询时:

  if($_GET['tewa_search']!="") 
{
     global $wpdb;
     $course_key = $_GET['tewa_search'];

     $query= "SELECT ID FROM `wp_posts` WHERE wp_posts.post_title LIKE '$course_key%' and wp_posts.post_type='courses'";
    $wp_query = $wpdb->get_results($query, ARRAY_N);
    if( ! empty($wp_query) ){   
        $keyword = $wp_query[0][0];  
    }
    else{
       $keyword = $_GET['tewa_search']; 
    }
    $keyword = $_GET['search_keyword'];
    $institute_name = get_user_meta($user_ID, 'inistitute_name', true);
    $status=array('publish','pending', 'draft');
    $paged = (get_query_var('page')) ? get_query_var('page') : 1;
    $the_query = new WP_Query(array(
        'post_type' => 'question',
        array("s" => $keyword),
        'meta_query' => array (
            'relation' => 'OR',
            array (
              'key' => 'course',
              'value' => $keyword, //$keyword = 1827 (getting course id based on user entered keyword)
              'compare' => 'IN'
            ),
            array (
                array (
                  'key' => 'inistitute_name',
                  'value' => array ($institute_name),
                  'compare' => 'IN'
                )
            )
        ),
        'posts_per_page' => '5',
        'post_status' => 'publish',
        'paged' =>$paged,
        'post_status' => $status,
        'order' => 'DESC'
        ));
  }

说真的让我疯了,请救救我。任何人都可以告诉我这有什么不对吗?提前谢谢。

0 个答案:

没有答案