データベース(DB)から WordPress 特性画像の一括削除

Last Updated: 2024 年 06 月 22 日 댓글

WordPress 投稿で指定されたすべての属性イメージを削除したい場合は、DB経由で一括削除できます。実際の画像は削除せずにポストに設定されている属性画像情報のみを削除する場合は、以下を参照してください。

データベース(DB)から WordPress 特性画像の一括削除

データベース(DB)から WordPress 特性画像を一括削除する方法

WordPressでFIFUプラグインを使用すると、最初の画像(またはN番目の画像)を特性画像として設定できます。このプラグインでは既存の属性イメージは変更されませんが、必要に応じて既存の属性イメージを上書きするオプションを有効にできます。既存の特性画像を無視し、FIFUで最初またはN番目の画像を特性画像として設定したい場合既存の推奨画像/ビデオを上書き「オプションをONに設定してテストしてください。

ただし、何らかの理由でFIFUで指定された特性画像が反映されない場合があります。

この場合、既存のプロパティイメージ情報をデータベースから削除することを検討できます。すべての記事からプロパティイメージ(代表イメージ)を削除したい場合は、次のphpMyAdminなどのMySQLクライアントツールを介してDBにアクセスし、次のクエリを実行できます。

DELETE FROM wp_postmeta WHERE meta_key = '_thumbnail_id';

このクエリはデータベースからポストの属性イメージを削除しますが、実際のイメージを削除しません。

DB操作は元に戻せないので、上記のクエリを実行する前に必ず バックアップしてください。

Cafe24を利用する場合は、phpMyAdminをインストールしてディビに接続できます。 ファーストコメット などのcPaenlを提供する環境では、cPanelにログインしてphpMyAdminツールにアクセスできます。

クラウドウェイズの場合、Database Managerを介してディビにアクセスできます。

上記のクエリを実行した後にキャッシュを削除すると、属性イメージが一括削除されます。

DBにアクセスできない場合は、次のコードを有効にしたテーマ(チャイルドテーマを作成し、タスク)の関数ファイルに追加してテストすることができます。同様に、データとDBをバックアップした後に試してください。

function auto_featured_image($post_id) {
    // Check if this is an auto-save routine. If it is, our form has not been submitted, so we don't want to do anything.
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }

    // Verify this is not a revision
    if (wp_is_post_revision($post_id)) {
        return;
    }

    // Check if the post has a thumbnail
    if (has_post_thumbnail($post_id)) {
        // Remove the existing featured image
        delete_post_thumbnail($post_id);
    }

    // Get the first image attachment
    $args = array(
        'post_parent' => $post_id,
        'post_type'   => 'attachment',
        'post_mime_type' => 'image',
        'numberposts' => 1,
        'order'       => 'ASC',
        'orderby'     => 'menu_order ID',
    );

    $attached_images = get_children($args);

    if ($attached_images) {
        // Set the first attached image as the featured image
        foreach ($attached_images as $attachment_id => $attachment) {
            set_post_thumbnail($post_id, $attachment_id);
            break; // We only need the first image
        }
    }
}

// Hook into the save post action
add_action('save_post', 'auto_featured_image');

// Hook into various publish post transitions
$publish_hooks = array(
    'draft_to_publish',
    'new_to_publish',
    'pending_to_publish',
    'future_to_publish'
);

foreach ($publish_hooks as $hook) {
    add_action($hook, 'auto_featured_image');
}

// Ensure the function runs on post load to cover other scenarios
add_action('the_post', 'auto_featured_image');

特性画像を隠す

特性画像を非表示にしたい場合は、いくつかの方法があります。

  1. テーマオプションから非表示
  2. CSSを使用して非表示にする
  3. プラグインを使用する

テーマで属性イメージを非表示にするオプションを提供している場合は、テーマオプションを使用して属性イメージを非表示にすることができます。

エレメン などページビルダー PostX などのプラグインを使用してポストリストを一覧表示する場合は、そのプラグインでプロパティイメージを表示/表示しないオプションがあります。

テーマにサムネイル画像を非表示にするオプションがない場合は、CSSを使用できます。例えば、 GeneratePress 無料版では、CSSを使用して最新の投稿などからサムネイルを隠すことができます。 GPテーマで属性画像を非表示にする詳細な方法は、次の記事で確認できます。

他の方法で WP Hide Show Featured Imageというプラグインを使用できます。このプラグインを使用すると、すべてのポストとページから属性イメージを非表示にできます。しかし、テストしてみると、最新の記事ページなどではサムネイルがそのまま表示されました。

最後に、

FIFUの現在のバージョン(4.8.1)では、画像名にハングルが含まれているとサムネイルが表示されないという問題があります。画像名にハングル文字が含まれていてサムネイルが正しく表示されない場合、FIFUの次期バージョンでこの問題が修正されると言うので、少し待つとアップデートが出るはずです。

WordPress またはWebホスティング関連の問題で問題が発生した場合 ここでサービス(有料)をご依頼することができます。

参照


コメントを残す

コメント