3

例如,我有一个帖子meta_key是 'name',meta_value是 'Jason',
meta_idMySQL 中是 128

如何通过 meta_id 获取此 meta_value ?

4

3 回答 3

3

最好的方法是使用 WordPress 的内置函数get_metadata_by_mid().

所以在你的情况下:

$value = get_metadata_by_mid( 'post', 128 );
于 2013-10-27T19:39:56.303 回答
0

我发现可能会对你有所帮助。

它描述了如何通过 Meta Key 获取 Meta ID,因此它不完全是您需要的,但非常相似。也许所需要的只是稍微修改一下那个查询。

于 2013-03-23T09:02:33.707 回答
0

get_metadata_by_mid( $meta_type, $meta_key )适用于大多数情况。它返回一个包含所有 postmeta 数据的对象。

$jason = get_metadata_by_mid( 'post', 128 );
echo 'Meta Value = ' . $jason->meta_value;
echo 'Post ID = ' . $jason->post_id;

// Results
Meta Value = Jason
Post ID = 123

如果您需要做一些更自定义的事情,例如使用元 ID 获取产品的库存状态。你可以使用这个。

global $wpdb;

$meta_id = 128;
$postmeta_post_id = $wpdb->get_var( $wpdb->prepare("SELECT post_id FROM {$wpdb->prefix}postmeta WHERE meta_id = %d", $meta_id) );

$stock_status = get_post_meta( $postmeta_post_id, '_stock_status', single );

echo 'Product status: ' . $stock_status;

//results
Product status: outofstock
于 2021-08-23T09:32:46.073 回答