WP 3.4 has missing photo data

时间:2012-06-19 作者:MechEngineer

我刚刚更新到WP3。4并发现系统不再“找到”以前可用的图像。我的意思是,所有图像文件都保持在线并可访问,但WP丢失了缩略图数据,随后在媒体库列表上显示了标准媒体图标。应该有图像的正面页面现在显示通用的“图像丢失”图标,因为没有URL(我检查了源代码)。

我的猜测是,数据库和图像列表之间的连接不知何故中断了,我正在尝试对它们进行反向工程,以找出差异。希望还有其他人也有类似的问题,并且已经解决了?

1 个回复
SO网友:MechEngineer

解决了这个问题后,我想更新这个问题。这个问题源于以前版本的WP在上传媒体时没有包含\\u WP\\u attached\\u file meta key,而3.4现在似乎需要这样做。

下面是PHP代码,用于在数据库中循环,验证密钥和图像文件的存在,然后更新数据库。

// descend through the database
$updated = 0;
$skipped = 0;
$error = 0;
$upload_dir = wp_upload_dir();

$sql = sprintf("select * from %s where post_type = \'attachment\'", $wpdb->posts);
$all_attachments = $wpdb->get_results($sql);

foreach ($all_attachments as $attachment) {
    // get the meta value
    $meta = get_post_meta($attachment->ID, "_wp_attachment_metadata", true);
    $file = $meta[\'file\'];

    // verify that the file exists
    $file_path = $upload_dir[\'basedir\'] . \'/\' . $file;
    if (!file_exists($file_path)) {
        $error++;
    }
    else {
        // add the meta value, which returns false if it already exists
        $adding_meta = add_post_meta($attachment->ID, \'_wp_attached_file\', $file, true);
        if ($adding_meta)
            $updated++;
        else
            $skipped++;
    }
}
echo \'<div id="message" class="updated"><p>\' . sprintf("%d attachments were updated, %d were skipped and %d had errors.", $updated, $skipped, $error) . \'</p></div>\';

结束

相关推荐

Slideshow with thumbnails

我这里有一个简单的演示来说明我的问题。http://www.ttmt.org.uk/wordpress/这是一个使用cycle插件的图像幻灯片-http://jquery.malsup.com/cycle/图像直接添加到页面的内容中,包含内容的div被传递给cycle函数。我的问题是,我想有下面的图像缩略图。我见过一些WordPress插件可以做到这一点,但它们都需要相同的图像尺寸才能工作。我的图像高度相同,但宽度不同。是否有一个插件可以对不同宽度的图像执行此操作。如果没有,谁能建议我怎么做。我真的希望这