我是WordPress的新手。我想了解更多关于wp\\U查询的信息。我在WordPress网站上有以下代码。
$metaquery = array(
\'relation\' => \'AND\',
array(
\'relation\' => \'AND\',
array(
\'key\' => \'idonate_donor_bloodgroup\',
\'value\' => sanitize_text_field( isset( $_GET[\'bloodgroup\'] ) ? $_GET[\'bloodgroup\'] : \'\' ),
\'compare\' => \'=\'
),
array(
\'key\' => \'idonate_donor_availability\',
\'value\' => sanitize_text_field( isset( $_GET[\'availability\'] ) ? $_GET[\'availability\'] : \'\' ),
\'compare\' => \'=\'
),
),
array(
\'relation\' => \'OR\',
array(
\'key\' => \'idonate_donor_country\',
\'value\' => sanitize_text_field( isset( $_GET[\'country\'] ) ? $_GET[\'country\'] : \'\' ),
\'compare\' => \'=\'
),
array(
\'key\' => \'idonate_donor_state\',
\'value\' => esc_attr( isset( $_GET[\'state\'] ) ? $_GET[\'state\'] : \'\' ),
\'compare\' => \'=\'
),
array(
\'key\' => \'idonate_donor_city\',
\'value\' => esc_attr( isset( $_GET[\'city\'] ) ? $_GET[\'city\'] : \'\' ),
\'compare\' => \'=\'
),
)
);
我想知道
key
在这里我为什么要使用它?如何生成此
key
? 如何使用此
key
? 我可以用任何东西作为
key
?
最合适的回答,由SO网友:HK89 整理而成
基本上,WP\\u query的meta\\u query参数允许您按元数据搜索WordPress帖子/页面/自定义帖子类型,并对结果进行排序。
在本文中,我假设您已经掌握了如何在WordPress中使用WP\\U查询类的基本知识。在开始之前,我想向您展示一些非常简单的示例。类似的例子可以在WordPress Codex中找到。
正如您所知,所有帖子都有元数据,您可以在“自定义字段”元框中填充元数据(顺便提一下,元框可以隐藏)。因此,例如,如果您想获得一篇带有meta key show\\u on\\u homepage和meta value on的帖子,可以通过以下方式完成:
$rd_args = array(
\'meta_key\' => \'show_on_homepage\',
\'meta_value\' => \'on\'
);
$rd_query = new WP_Query( $rd_args );
下面的简单示例允许您使用特定的自定义字段值获取所有帖子。让我们用自定义字段名“color”和自定义字段值白色获取所有帖子。
// the meta_key \'color\' with the meta_value \'white\'
$rd_args = array(
\'meta_query\' => array(
array(
\'key\' => \'color\',
\'value\' => \'white\'
)
)
);
$rd_query = new WP_Query( $rd_args );
如果查看与查询匹配的任何帖子中的帖子编辑页面(在管理区域),您将在“自定义字段”部分看到以下内容:
Refer this link 更多知识
SO网友:Sally CJ
Note (to other readers): 如果您正在寻找WordPress(post)元查询的入门指南,请查看其他答案或链接文章(作者Misha) — 你可能还想阅读this article 这是对自定义字段或元数据的初学者友好的介绍meta_query
(WordPress元查询)真的是为了
最初的答案是对What is the purpose of the key
here ? Why should I use it ?“:
那个key
参数是meta key (或自定义字段的名称,请将其视为post Slug)。没有它,WordPress/MySQL就不知道应该查询什么元数据,因为WP_Query
默认情况下不查询所有(post)元。
您可以找到所有WP_Query
参数here 和here 对于meta_query
(元查询子句)。
附加说明
除了其他答案外,这些是附加的细节,可能对您有用。
在meta_query
参数或WordPress元查询不仅用于WP_Query
或用于搜索/筛选帖子,也可用于搜索/筛选默认/内置类别等术语(category
) 多站点网络中的分类法、注释、用户和站点。
但是,默认的自定义字段编辑器/元框仅适用于帖子。对于术语、用户等,您可以编写自己的metabox,或使用类似于高级自定义字段的插件。
回复“Can I use anything as key ?“:
是的,基本上
但从技术上讲,一个元密钥最多只能包含255个字符,插件/主题(和您)可以使用filter hooks 要允许/不允许某些字符,请限制密钥长度等。
尽管我在最初的回答中说了什么(“把它想象成一个弹头”,meta key实际上可以像一个包含空格的帖子标题Continue Reading
或Favorite Music in the 90\'s
.