- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要检索特定元键的一组唯一元值。我从 Paul Chimoy 找到了一个函数这几乎可以满足我的需求。我只需要 1)。具有二级资格的版本,以及 2)。具有二级和三级资格的版本,以便输出我需要的内容。
该函数输出 meta_key 'trees' 和 'states' 的所有元值,但我需要能够输出,1)。 meta_key 'trees' 的所有唯一元值,其中 meta_key 'states' 等于 'california' 和 2)。 meta_key 'trees' 的所有唯一值,其中 meta_key 'states' 等于 'california' 和 meta_key 'countries' 等于 'usa'。
Trees
meta_key = trees
meta_value = pine, oak, sequoia
States
meta_key = states
meta_value = california, washington, florida
Countries
meta_key = countries
meta_value = usa, uk, ireland
没有成功,我调整了功能包括:
AND (pm.meta_key = 'states' AND pm.meta_value = 'california')
这是未经我额外限定的原始函数:
function get_unique_post_meta_values( $key = 'trees', $type = 'post', $status = 'publish' ) {
global $wpdb;
if( empty( $key ) )
return;
$res = $wpdb->get_col( $wpdb->prepare( "
SELECT DISTINCT pm.meta_value FROM {$wpdb->postmeta} pm
LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
WHERE pm.meta_key = '%s'
AND p.post_status = '%s'
AND p.post_type = '%s'
", $key, $status, $type ) );
return $res;
}
我有限的知识不允许我根据我的需要适本地调整功能。我感谢为实现我的目标而提供的任何帮助。
提前致谢。
最佳答案
我知道这已经过时了,您可能不会再找了,但是如果其他人需要这个,那么这里就是需要做的事情。
现在你的选择语句是:
SELECT DISTINCT pm.meta_value FROM {$wpdb->postmeta} pm
LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
WHERE pm.meta_key = '%s'
AND p.post_status = '%s'
AND p.post_type = '%s'
这将根据一个键选择元值。
相反,您希望基于一个键获取另一个键的唯一元值。
为此,您需要选择帖子,然后根据所需的键选择其他不同的元值。这意味着您需要嵌套您的 SQL,并获取您的帖子 ID。
SELECT DISTINCT pm.meta_value FROM {$wpdb->postmeta} pm WHERE pm.post_id IN
(SELECT pm.post_id FROM {$wpdb->postmeta} pm
LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
WHERE pm.meta_key = '%s'
AND pm.meta_value = '%s'
AND p.post_status = '%s'
AND p.post_type = '%s')
AND pm.meta_key = '%s'
您的包装语句应该类似于:
$res = $wpdb->get_col( $wpdb->prepare($sql, $searchkey, $searchvalue, $poststatus, $posttype, $findkey ) );
假设您输入上面的 SQL,trees, pine, post, publish, states - 您应该检索生长松树的州的列表。
希望这对偶然发现此问题的人有所帮助!
关于php - 获取元键的所有唯一后元值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32725498/
我无法保存选择字段框中包含的元数据。举个例子(卡在 function.php 到单品设置页面): (...) "> TEST '; e
我有一个元键_student_registration_data存储在wordpress数据库中,其元值作为序列化数组如下: a:9:{s:4:"name";s:20:"John Doe";s:11:
我需要使用 CUSTOM TABLE 和 POSTMETA 加入 POSTS。我正在跟踪自定义表中的热门帖子,但我只希望返回具有特定 postmeta 值的帖子。 我搜索了一下,没有找到图。 这是我“
我正在开发 phonegap 应用程序,因为我通过 Javascript 使用了元标记值,我需要在单击按钮时更改元标记值(初始比例、最大比例或最小比例)。它只改变一次之后不起作用(改变)。我在 And
我正在为 WordPress 上构建的网站构建一个搜索工具,WordPress 中的 get_posts() 函数似乎将我限制为最多 6 个 AND 子句对于元值查询,但我需要该工具来获取超过 6 个
我是一名优秀的程序员,十分优秀!