希望以自己的方式获取wp_attachment_metadata。我想获取文件名:
a:5:{s:5:"width";i:500;s:6:"height";i:500;s:4:"file";s:25:"2016/08/sprite_1500ml.jpg";s:5:"sizes";a:5:{s:9:"thumbnail";a:4:{s:4:"file";s:25:"sprite_1500ml-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:25:"sprite_1500ml-300x300.jpg";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:14:"shop_thumbnail";a:4:{s:4:"file";s:25:"sprite_1500ml-180x180.jpg";s:5:"width";i:180;s:6:"height";i:180;s:9:"mime-type";s:10:"image/jpeg";}s:12:"shop_catalog";a:4:{s:4:"file";s:25:"sprite_1500ml-300x300.jpg";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:11:"shop_single";a:4:{s:4:"file";s:25:"sprite_1500ml-400x400.jpg";s:5:"width";i:400;s:6:"height";i:400;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}
好吧,我被困住了。我不知道如何分离该数组。任何人都知道如何分离该数组,以便我可以获取文件名(url文件)。
我现在的代码:
$command = $_GET['command'];
switch ($command) {
case 'list_product':
$loop = new WP_Query(
array(
'post_type' => 'product'
)
);
if( $loop->have_posts() ) :
$data = array( "api_status" => 1, "api_message" => "success");
$meta = array();
while ( $loop->have_posts() ) : $loop->the_post();
$meta[] = array(
"id" => get_the_ID(),
"post_name" => get_the_title(),
"stock_status" => get_post_meta( get_the_ID(), '_stock_status', true ),
"price" => get_post_meta( get_the_ID(), '_price', true ),
"reguler_price" => get_post_meta( get_the_ID(), '_regular_price', true ),
"image" => get_post_meta( get_the__ID(), '_wp_attachment_metadata', true ),
);
endwhile;
endif;
echo json_encode($meta);
break;
我的意思是当我使用时:
"image" => get_post_meta( get_the__ID(), '_wp_attachment_metadata', true ),
我的结果没有显示任何内容
我的代码有什么改进,所以它可以像我想要的那样工作?
答案 0 :(得分:0)
如果你想要一个图片网址,我会告诉你另一种方法。我想你想要一个特定帖子的帖子缩略图。
// First we get the image id
$post_thumbnail_id = get_post_thumbnail_id( get_the_ID() );
// Then we get the image data, we will get an array with some informations
$image = wp_get_attachment_image_src( $post_thumbnail_id, 'large' );
// the image url is the first index of this array
$image_url = $image[0];
在此示例中,您将获得large
版本的图片网址。如果您想要更大的尺寸,只需将其更改为例如meidum
或full
。请阅读documentation of wp_get_attachment_image_src()了解详情。
此代码必须放在循环内。确保get_the_ID()
返回当前的POST ID 。确保POST 有一个帖子缩略图。
如果您有附件(图片)的ID,基本上您可以获得图片网址。