在Post中将图像移动到WooCommerce中的产品图像

时间:2016-02-14 03:18:19

标签: wordpress woocommerce

我的旧主题并不支持Woocommerce,我目前正在将我的朋友网站升级为Woocommerce。 旧主题使用帖子显示产品,我已成功将帖子类型更改为产品,以便在Woocommerce目录中显示。

问题是她把产品图片放在帖子里面。有没有办法使用phpmyadmin将帖子内的图像设置为产品图像?

2 个答案:

答案 0 :(得分:0)

是的,有几种方法。

首先,只需要在帖子中找到附件ID(可能在db字段wp_posts-> post_content中),然后将其作为产品图像/缩略图分配给产品。

要做到这一点,你必须为帖子ID添加一个帖子元条目(wp_post_meta),其中元字段将是" _thumbnail_id"和元值应该是您在帖子内容中找到的附件ID。

或者你可以在wp-admin中执行这两个步骤。

答案 1 :(得分:0)

我创建了一个简单的脚本来移动它们.. 适用于Wordpress 4.4.2

// Product which doesn't have _thumbnail_id
$sql = "SELECT ID FROM `25c4_posts` WHERE post_type = 'product' AND ID NOT IN (SELECT post_id FROM 25c4_postmeta WHERE meta_key = '_thumbnail_id')";
$result = $con->query($sql);

while ($row = $result->fetch()) {
    $post_id = $row['ID'];
    $meta_key = '_thumbnail_id';

    // GET attachment_id. How?
    $get_attachments_query = "SELECT ID FROM 25c4_posts WHERE post_parent = ".$post_id." AND post_type='attachment' LIMIT 1";
    $get_attachments = $con->query($get_attachments_query);
    $attachments = $get_attachments->fetch();
    $attachment_id = $attachments[0];

    $stmt = $con->prepare('INSERT INTO 25c4_postmeta (post_id, meta_key, meta_value) VALUES (:post_id, :meta_key, :meta_value)');
    $stmt->bindParam(':post_id', $post_id);
    $stmt->bindParam(':meta_key', $meta_key);
    $stmt->bindParam(':meta_value', $attachment_id);
    $stmt->execute();

    echo "<p>post_id: ".$post_id." | attachment_id: ".$attachment_id."<BR />".$get_attachments_query."</p>";
}

ps:不要忘记在顶级脚本上添加自己的数据库连接