Ankerlink an den Anfang der Seite
802 6052
„Glöckchen“ Foto von Gabriele Lässer

Die Funktion durchsucht die Tabelle postmeta nach Einträgen mit dem Schlüssel _thumbnail und generiert daraus ein Array mit einmaligen Attachment-IDs.

function flxo_thumbnail_unique_ids() {
	global $wpdb;
	$ids = $wpdb->get_col(
		$wpdb->prepare(
			"SELECT DISTINCT meta_value
			 FROM {$wpdb->postmeta}
			 WHERE meta_key = %s
			   AND meta_value != ''",
			'_thumbnail_id'
		)
	);
	return array_map( 'absint', $ids );
}

Um hingegen doppelt als Beitragsbild verwendete Bilder zu ermitteln, DISTINCT weglassen, und für den besseren Überblick sortieren.

function flxo_thumbnail_duplicate_ids() {
	global $wpdb;
	$rows = $wpdb->get_results(
		$wpdb->prepare(
			"SELECT meta_value AS attachment_id, COUNT(*) AS usage_count
			 FROM {$wpdb->postmeta}
			 WHERE meta_key = %s
			   AND meta_value != ''
			 GROUP BY meta_value
			 HAVING usage_count > 1
			 ORDER BY usage_count DESC, attachment_id ASC",
			'_thumbnail_id'
		),
		ARRAY_A
	);
	return $rows;
	// z. B. [ ['attachment_id' => '123', 'usage_count' => '3'], ... ]
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht kann zur Spamprüfung an einen KI-Dienst übermittelt werden. Details: Datenschutzerklärung und Datenschutzerklärung von Mistral AI.