【问题标题】:Wordpress attachment upload via PHP通过 PHP 上传 Wordpress 附件
【发布时间】:2012-11-04 05:54:27
【问题描述】:

我正在尝试上传外部图片并通过 php 将其设置为特色图片

我使用的代码如下,

        $photo = new WP_Http();
        $photo = $photo->request( $article->largeURL );
        $attachment = wp_upload_bits( $photo_name . '.jpg', null, $photo['body'], date("Y-m", strtotime( $photo['headers']['last-modified'] ) ) );

        $filetype = wp_check_filetype( basename( $attachment['file'] ), null );

        $postinfo = array(
            'post_mime_type'    => $filetype['type'],
            'post_title'        => $article->heading . ' ',
            'post_content'  => '',
            'post_status'   => 'inherit',
        );
        $filename = $attachment['file'];
        $attach_id = wp_insert_attachment( $postinfo, $filename, $newId );
        if( !function_exists( 'wp_generate_attachment_data' ) )
            require_once(ABSPATH . "wp-admin" . '/includes/image.php');
        $attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
        wp_update_attachment_metadata( $attach_id,  $attach_data );
        set_post_thumbnail($newId,$attach_id)

它将图片上传到媒体但没有设置为特色图片,但我认为问题出在图片上传中,“媒体”中的附件屏幕如下所示

http://cl.ly/image/0z2k1b1d0m1J

这似乎表明某些信息没有正确传递,因为没有缩略图、名称或类型。

非常感谢所有帮助! 谢谢

【问题讨论】:

  • 向导在哪里?和 $FILES[] 数组?并作为站点注释 - 为什么不使用 download_url() ?

标签: php image wordpress featured


【解决方案1】:

我会发表评论,但我还不允许。

1) 您是从后端还是前端执行此操作?您可能需要nonce key
2) 在set_post_thumbnail 上,$newId = $post->ID?这可能就是它没有作为特色图片附加的原因。
3)您的文件名未保留扩展名/$photo_name 未在代码中定义。使用wp_handle_upload 可能会更好。

【讨论】:

    猜你喜欢
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 2014-05-10
    • 1970-01-01
    相关资源
    最近更新 更多