Wordpress Search Code Работает на локальном хосте, но не в живом окружении - PullRequest
0 голосов
/ 30 мая 2018

Я любитель-разработчик WordPress.На самом деле я работаю над своей второй пользовательской темой.

В этой конкретной теме у меня есть форма поиска для поиска из пользовательского типа поста «профиль» с использованием нескольких настраиваемых полей.

У меня есть этонемного кода на странице поиска WordPress.

$search = $_GET['s'];

$pre_meta_query = array(
    'relation' => 'OR',
        array(
            'key'     => 'profileName',
            'value'   => $search,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'profileServices',
            'value'   => $search,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'profileBio',
            'value'   => $search,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'profileLocation',
            'value'   => $search,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'profileBusinessTel',
            'value'   => $search,
            'compare' => 'LIKE'
        ),
);


//A Basic
$args = array(
    'posts_per_page' => - 1,
    'orderby'        => 'rand',
    'order'          => 'ASC',
    'post_type'      => 'profile',
    'post_status'    => 'publish',
    /*'exact'       => false,
    's'           => $search,
    'sentence'       => true,*/
    'meta_query'     => $pre_meta_query
);

$query         = new WP_Query( $args );
$profiles      = $query->posts;

Он отлично работает на моей установке xampp, а не на среде с реальной установкой.Когда я проверяю журнал ошибок, я получаю следующую ошибку:

'ads_postmeta' for query SELECT   ads_posts.*
FROM ads_posts
INNER JOIN ads_postmeta ON ( ads_posts.ID = ads_postmeta.post_id )
INNER JOIN ads_postmeta ON (ads_posts.ID = ads_postmeta.post_id)
WHERE 1=1
AND (
  ( ads_postmeta.meta_key = 'profileName' AND ads_postmeta.meta_value LIKE '%umo%' ) 
  OR 
  ( ads_postmeta.meta_key = 'profileServices' AND ads_postmeta.meta_value LIKE '%umo%' ) 
  OR 
  ( ads_postmeta.meta_key = 'profileBio' AND ads_postmeta.meta_value LIKE '%umo%' ) 
  OR 
  ( ads_postmeta.meta_key = 'profileLocation' AND ads_postmeta.meta_value LIKE '%umo%' ) 
  OR 
  ( ads_postmeta.meta_key = 'profileBusinessTel' AND ads_postmeta.meta_value LIKE '%umo%' )
) AND ads_posts.post_type = 'profile' AND ((ads_posts.post_status = 'publish')) 
GROUP BY ads_posts.IDads_posts.ID ORDER BY RAND() 
made by require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/classifieds/search.php'), WP_Query->__construct, WP_Query->query, WP_Query->get_posts

Какое наилучшее из возможных решений?

...