如何在数据库中插入图片路径以在wp-admin中显示产品图片?

时间:2014-07-05 作者:user1620882

我需要在哪个数据库表和列中插入图像路径,以便在wp admin中显示产品图像(不在前端)?我在WordPress中通过查询插入产品,而不是通过管理员插入产品。

$insert = $wpdb->insert( $prefix."posts", array(
    "post_title"   => $posTitle,
    "post_content" => $postContent,
    "post_status"  => "publish",
    "post_type"    => "product"
) );
// select products ID
$select = $wpdb->get_results( "SELECT ID AS productsId 
    FROM " . $prefix . "posts 
    WHERE post_title=\'" . $posTitle . "\'" );
// echo $select[0]->productsId; die();
// insert umage in posts and product attribute meta posts table
$insertImg = $wpdb->insert( $prefix . "posts", array( 
    "post_status" => "inherit",
    "post_type"   => "attachment",
    "guid"        => $postGuid,
    "post_parent" => $select[0]->productsId 
) );

2 个回复
SO网友:Rarst

虽然这在理论上是可能的,但要想做对将是非常不愉快的。

WordPress视图中的“图像”将是包含大量元数据的附件帖子,记录图像本身的物理文件信息、图像大小、来自图像的EXIF信息等。

您真的应该使用API来完成这样的任务,我将从以下内容开始media_handle_sideload().

附言wp_insert_post() 创建普通职位也是可行的。

SO网友:Zarar Ansari
$image_url = $review[\'image\'];

$tmp = download_url( $image_url );

preg_match(\'/[^\\?]+\\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/\', $image_url, $matches);

$file_array[\'name\'] = basename($matches[0]);

$file_array[\'tmp_name\'] = $tmp;

$thumbid = media_handle_sideload( $file_array, $new_post_id, \'gallery desc\' );

set_post_thumbnail($new_post_id, $thumbid);

update_post_meta( $new_post_id, \'_product_image_gallery\',  $thumb_url);
结束

相关推荐

Wpdb插入和布尔型字段

我正在准备这样的插入查询:$wpdb->insert(\'table\', $data, $format); 数据数组将是:$data = array_push($data, \'resp\' => true) 问题是,布尔字段应该使用什么$格式?$format = array_push($format, \'%%\') 在法典中,我只找到了%s(用于字符串)%d(用于整数)和%f(用于浮点)。。。但是布尔人呢?