WordPress通过元关键字获取元值

时间:2013-03-13 作者:meWantToLearn

如何通过meta键获取meta值

我想通过元键获取值。这就是我迄今为止所尝试的:

   $args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'posts_per_page\' => -1,
    \'meta_key\' => \'picture_upload_1\'
);
$dbResult = new WP_Query($args);

var_dump($dbResult);
但我没有收到元值

3 个回复
最合适的回答,由SO网友:Bainternet 整理而成

WP_Query 选择文章而不是元值,这是您无法获得值的方式。您可以使用返回的post ID获取如下值:

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'posts_per_page\' => 1,
    \'meta_key\' => \'picture_upload_1\'
);
$dbResult = new WP_Query($args);
global $post;
if ($dbResult->have_posts()){
   $dbResult->the_post();
   $value = get_post_meta($post->ID,\'picture_upload_1\',true);
}
它将获取上次发布的帖子的元值,该帖子有一个名为picture_upload_1

您可以做的另一件事是自己创建一个查询,类似于:

 global $wpdb;
 $value = $wpdb->get_var( $wpdb->prepare("SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = %s LIMIT 1" , $meta_key) );

SO网友:Hisham Dalal

随时随地获取meta\\u key的所有值:

global $wpdb;
$meta_key = \'picture_upload_1\';

$data = $wpdb->get_results($wpdb->prepare( "SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s", $meta_key) , ARRAY_N  );

$result = [];
foreach($data as $array){
    $result[] = $array[0];
}

print_r($result);

SO网友:Tim

您是否考虑将值存储在wp_options 表而不是wp_postmetas.

所以你可以get_option 使用自定义键设置和检索值。

https://developer.wordpress.org/reference/functions/get_option/

结束

相关推荐

多个单个站点,一个插件目录-调整plugins_url()

[这不是一个多站点问题]更新:这个问题在逻辑上是不可能的,或者是思维循环,如果你愿意的话,请检查下面的更新。技术是laid out here in WPEngineer.它允许有一个插件文件夹来为运行在同一服务器上的多个WordPress站点提供服务。所以,我所有的开发站点都在wp配置中有这个。phpdefine( \'WP_PLUGIN_DIR\', \'/www_dev/base-site/wp-content/plugins\' ); define( \'WP_PLUGIN_URL\', \