Php WordPress:基于输入(JSON)打印meta_值的自定义选择查询
我对Wordpress的自定义查询有问题。 我想从$_帖子中查询meta_值并打印包含输入文本的值,但现在我只检索整个列 这是我的密码:Php WordPress:基于输入(JSON)打印meta_值的自定义选择查询,php,json,wordpress,Php,Json,Wordpress,我对Wordpress的自定义查询有问题。 我想从$_帖子中查询meta_值并打印包含输入文本的值,但现在我只检索整个列 这是我的密码: $gets = '%'.$_REQUEST['s'].'%'; // Sets meta value from input $meta_key = 'ricerca'; // Sets meta key global $wpdb; $metas = $wpdb->get_results( "SELECT
$gets = '%'.$_REQUEST['s'].'%'; // Sets meta value from input
$meta_key = 'ricerca'; // Sets meta key
global $wpdb;
$metas = $wpdb->get_results(
"SELECT DISTINCT meta_value
FROM $wpdb->postmeta
WHERE meta_key = '{$meta_key}'
AND meta_value LIKE '{$gets}'"
);
$response = array(); // Initialize array
if (!empty($gets))
{
foreach ($metas as $meta)
{
$response[] = $meta->meta_value; // Set single meta as array
}
}
echo json_encode( $response ); // Prints values.
exit();
}
我做错了什么?这是表格屏幕:
这是输入表单:
<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<?php if( mfn_opts_get('header-search') == 'shop' ): ?>
<input type="hidden" name="post_type" value="product" />
<?php endif;?>
<i class="icon_search icon-search-fine"></i>
<a href="#" class="icon_close"><i class="icon-cancel-fine"></i></a>
<input type="text" class="field" name="s" id="s" placeholder="<?php echo $translate['search-placeholder']; ?>" />
<input type="submit" class="submit" value="" style="display:none;" />
这就是结果:
即使我键入未知单词,它也会弹出所有元值。您只需修改查询:
$sql = "SELECT DISTINCT meta_value
FROM $wpdb->postmeta
WHERE meta_key = '{$meta_key}'";
if(isset($_REQUEST['s']) && !empty($_REQUEST['s']))
$sql .= " AND meta_value LIKE '{$gets}'";
$metas = $wpdb->get_results($sql);
您的查询是正确的…可以显示一些表数据和input@HappyCoding添加了更多信息,谢谢。请尝试打印查询…@HappyCoding这是结果:从WP_postemta中选择不同的META_值,其中META_KEY='RICERCA'和META_值,如“%%”@HappyCoding这是结果的图像,不是大写。。。顺便说一句,$\u帖子似乎是空的?天哪,我快疯了从wp_Posteta中选择不同的meta_值,其中meta_键='ricerca'-$_请求['s']不读取输入,事实上查询不会添加和meta_值,比如..打印$_请求['s'],并检查值。。。。。顺便说一下,我们使用$gets变量。。。打印出那张也就是打印的那张:[Stampaggio Material Plastiche、Giardinagio、Metallurgia Pressofusine Lavorazione Metalli、Alimentari Produzione Olio、Giardinagio-attrezzi、prodotti e forniture、Giardinagio-Vivai piante e fiori、Test、Abbigliamento donna、Abbigliamento-vendita al dettaglio、网络代理、通讯社、平面设计机构]它给了我所有的值。看起来,它没有读取我的$\u POST。事实上,如果我打印$get或$\u POST['s'],它不会显示任何内容。