【问题标题】:Wordpress: Get all values of a custom fieldWordpress:获取自定义字段的所有值
【发布时间】:2012-03-06 01:39:52
【问题描述】:

我正在使用 Verve Meta Box。我想用其中一个自定义字段制作菜单。如何返回所有自定义字段值?例如,如果我有一个名为“fruit”的自定义选择字段,并且作为选项我有“apples”、“oranges”和“bananas”,我如何才能获得这些值的完整列表,也许是一个数组?我可以得到与帖子相关的那些:

get_post_custom_values('fruit')

…但我不知道如何获取整个列表。

提前谢谢你!

【问题讨论】:

标签: php wordpress custom-fields


【解决方案1】:

如果有人仍然想知道:

global $wpdb;
$results = $wpdb->get_results( 'SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key LIKE "FIELD_NAME"', OBJECT );

只需确保您的 postmeta 表是“wp_postmeta”(默认),然后将 FIELD_NAME 更改为您在管理员中为字段创建的名称。

【讨论】:

  • 这看起来比我的 hacky 解决方案更好。有机会我会试一试,但它看起来不错,我敢打赌它会奏效。谢谢!
【解决方案2】:

您可以通过在循环中使用 get_post_meta 函数来使用常规的 wordpress 方式。

【讨论】:

  • 这不是只获取与特定帖子关联的值吗,就像我的 get_post_custom_values 一样?
【解决方案3】:

试试这个:

$fruits = trim(get_post_meta($post->ID,'fruits',true)); 
$fruits_array = explode(',',$fruits);
foreach($fruits_array as $f){
   echo $f.'<br/>';
}

基本上,您需要在自定义字段中用逗号分隔水果名称,这样您就可以将它们分解成数组并一一回显这些值。

谢谢,戴夫

【讨论】:

  • 从未见过,抱歉。同样,这只会获得与单个帖子关联的值。我需要获取所有可用选项,无论它们是否应用于单个帖子。
【解决方案4】:

我找不到优雅的解决方案。我最终做的是遍历所有帖子,并尽可能地记录唯一值,创建一个数组。然后我使用该数组进行导航。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多