ぬにょす(挨拶)。
多分、アイキャッチ画像が小さいんですよね…。
PHPでプログラムを組んで、ビャーッとリサイズしちゃいました。
<?php
define('SITE_URL', 'http://example.com');
define('ROOT_PATH', '/var/www/wordpress');
define('NEW_WIDTH', 1280);
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'wordpress' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'db_user' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'db_password' );
/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );
$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($db->connect_error) {
echo $db->connect_error;
exit();
} else {
$db->set_charset("utf8");
}
$sql = "SELECT P.id, P.guid FROM wp_postmeta as M";
$sql .= " LEFT JOIN wp_posts as P ON M.meta_value = P.id";
$sql .= " WHERE M.meta_key = '_thumbnail_id'";
if ($res = $db->query($sql)) {
while ($row = $res->fetch_assoc()) {
$path = str_replace(SITE_URL, ROOT_PATH, $row['guid']);
if (!file_exists($path)) {
echo $row['id'];
echo '[File Not Exists!]';
echo $path, PHP_EOL;
} else {
list($org_w, $org_h, $type) = getimagesize($path);
$ratio = NEW_WIDTH / $org_w;
if ($ratio > 1.0) {
$new_w = floor($ratio * $org_w);
$new_h = floor($ratio * $org_h);
echo $row['id'];
echo '[', $org_w, ',', $org_h, ']->';
echo '[', $new_w, ',', $new_h, ']';
echo $path, PHP_EOL;
$org_image = null;
switch ($type) {
case IMAGETYPE_JPEG:
$org_image = imagecreatefromjpeg($path);
break;
case IMAGETYPE_PNG:
$org_image = imagecreatefrompng($path);
break;
}
if (!$org_image) {
echo ">> Can't load image.", PHP_EOL;
} else {
$canvas = imagecreatetruecolor($new_w, $new_h);
imagecopyresampled($canvas, $org_image, 0, 0, 0, 0, $new_w, $new_h, $org_w, $org_h);
switch ($type) {
case IMAGETYPE_JPEG:
imagejpeg($canvas, $path);
break;
case IMAGETYPE_PNG:
imagepng($canvas, $path, 9);
break;
}
imagedestroy($canvas);
imagedestroy($org_image);
echo ">> Resized!", PHP_EOL;
}
} else {
echo $row['id'];
echo '[', $org_w, ',', $org_h, ']->';
echo '[Keep!]';
echo $path, PHP_EOL;
}
}
}
$res->close();
}
$db->close();
Code language: PHP (php)
その後、念のためRegenerate Thumbnailsを走らせて、Cocoon設定でキャッシュも削除して。
現在、サチコさんに再検証してもらってます。
これで警告が綺麗に消えてくれることを願います。
コメント