【问题标题】:JSON API Wordpress not showing featured image when uploaded via App通过 App 上传时 JSON API Wordpress 不显示特色图片
【发布时间】:2017-01-06 07:47:26
【问题描述】:

我在使用 wordpress 特色图片时遇到了一些未知问题。当我从网站更新特色图片时;它通过json显示在应用程序中。

http://indiafastener.com/api/?json=get_post&post_type=listing-item&id=1377

但是,当我通过 json 将图像上传到 wordpress 数据库中时;图像字段中的输出为 NULL。

http://indiafastener.com/api/?json=get_post&post_type=listing-item&id=1380

当我看到分贝时;有图片路径,路径不通404。

图片路径: http://www.indiafastener.com/webservices/listing/uploads/2017-04-01_12-01-40IMG-20150715-WA0004.jpg

可能是因为图像不在wp-content/uploads/2016/02/ 文件夹中吗?

上传图片的代码

require_once('../../wp-config.php');
require_once('../../wp-admin/includes/image.php');
$dirname = "../../wp-content/uploads/2017/01/";
$filename = $_FILES["file"]["name"];

$attachment = array(
    'post_mime_type' => 'image/jpeg',
    'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
    'post_content' => '',
    'post_status' => 'inherit',
    'guid' => $dirname.basename($filename)
//'wp-content/uploads/2017/01/' . basename($filename)
);
$your_post_id  = 1392;
$attach_id = wp_insert_attachment( $attachment, $filename,'$your_post_id' );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
//$id=1385;
update_post_meta($id, '_thumbnail_id', $attach_id);
echo "success";

对此的任何帮助将不胜感激。

截图

通过应用上传的图片的 DB post_type 附件

链接到图片 ID 的数据库帖子

缺少图像预览:

【问题讨论】:

  • 在丢失图片预览的截图中,您能在评论中粘贴该图片的完整网址吗?你也可以看看这篇文章,它可能有助于解决你的问题:wordpress.stackexchange.com/questions/231137/…
  • indiafastener.com/wp-content/uploads/2017/01/… 这是图片的路径。谢谢,我也会检查那个插件..
  • 你检查过镜像目录下镜像的权限吗?有时它们会以不同于通过 wordpress 媒体库完成的权限上传(手动完成)。
  • 你能更新你的帖子,告诉你如何通过 api 发送图片吗?
  • 感谢帮助,问题是我在保存图像时传递的是相对 url 而不是绝对 url。

标签: json wordpress


【解决方案1】:

我不确定您的代码,但我下面的代码非常适合将图像分配为发布的特征图像。请通过它。 附件 ID 应分配给特定帖子,请检查您的帖子元“_thumbnail_id”是否有帖子。

require_once(ABSPATH . 'wp-admin/includes/image.php');

$filename = 'your file name';

$attachment = array(
    'post_mime_type' => 'your mime type',
    'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
    'post_content' => '',
    'post_status' => 'inherit',
    'guid' => $wp_upload_dir['url'] . '/' . basename($filename)
);
$attach_id = wp_insert_attachment( $attachment, $filename,'your_post_id' );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
update_post_meta($id, '_thumbnail_id', $attach_id);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    • 2012-10-22
    • 2016-08-14
    • 1970-01-01
    相关资源
    最近更新 更多