我试图为我发布的图像生成缩略图,但当我调用image\\u downsize时,索引[0]实际上会打印一个数组作为URL。我有点困惑,希望您能给予我帮助!
我的代码:
$wpUploadPath = wp_upload_dir();
$target_path = $wpUploadPath;
$filename = \'http://www.mysite.org/uploads/sampleFile.jpeg\';
$fileNameFinal = pathinfo($filename);
$wp_filetype = wp_check_filetype($filename, null);
$attachment = array(
\'post_mime_type\' => $wp_filetype[\'type\'],
\'post_title\' => $fileNameFinal[\'filename\'],
\'post_content\' => \'\',
\'post_status\' => \'inherit\'
);
$attach_id = wp_insert_attachment( $attachment, $target_path);
$upFile = image_downsize( $attach_id, \'thumbnail\' );
这就是我遇到的问题。如果我
print_r($upFile);
我得到:
Array (
[0] => http://www.mysite.org/uploads/Array
[1] => 0
[2] => 0
[3] =>
)
这正常吗?我似乎无法生成缩略图来更新我的用户meta。
任何帮助都将不胜感激。谢谢
Tre公司
最合适的回答,由SO网友:Sterling Hamilton 整理而成
http://codex.wordpress.org/Function_Reference/image_downsize
Returns: (bool | array)失败时为False,成功时为array。数组中包含图像url、宽度、高度,以及是否为中间大小,按此顺序返回,成功时返回$如果$url是调整大小的图像,则is\\U intermediate为true;如果是原始图像,则为false。
我假设数组部分中的数组是完全奇数的。
所以让我们开始反向工作。。。
http://codex.wordpress.org/Function_Reference/wp_insert_attachment
返回键=>值对数组,其中包含当前配置的上载目录上的路径信息。
示例:
$upload_dir = wp_upload_dir();
echo $upload_dir[\'baseurl\'];
我看到你有这个:
$wpUploadPath = wp_upload_dir(); // this returns an array!
$target_path = $wpUploadPath; // now the target_path is an array?
将目标路径设置为数组而不是字符串。。。
另外-target\\u路径不应为完整路径。。它应该是文件名。wp\\u upload\\u dir()的全部目的是确定路径。
wp\\U insert\\U附件的用法如下:
wp_insert_attachment( $attachment, $filename, $parent_post_id )
请注意它是如何显示$filename的。
由于您正在将$target\\u path作为第二个参数传递到wp\\u insert\\u attachement()中,并且第二个参数旨在表示文件名,因此最有意义的是这是您的问题。