Ausschneiden von Feldern aus Objekten und Arrays: wp_list_pluck()

UWPF bedeutet: Unbekannte (oder ungeläufige) WordPress Funktionen. Funktionen die man nicht oft sind, die jedoch im Kern von WordPress versteckt sind und nur darauf warten, entdeckt und genutzt zu werden. Dieses mal: wp_list_pluck().

Ausschneiden eines Feldes aus einem Array

Nehmen wir an, wir haben eine Liste. Das kann ein Array aber genauso gut ein Objekt sein:


$foods = array(
	array(
		'id'  => 4,
		'name'  => 'Banana',
		'color' => 'Yellow',
	),
	array(
		'id'  => '5',
		'name'  => 'Apple',
		'color' => 'Red',
	),
	array(
		'id'  => 2,
		'name'  => 'Lettuce',
		'color' => 'Green',
	),
	array(
		'id'  => '7',
		'name'  => 'Apple',
		'color' => 'Red',
	),
);

Normalerweise würde man eine Schleife (while, for, foreach) nutzen um ein Array zu erhalten, die z.B. nur die ID enthält. Aber eine kleine Funktion namens wp_list_pluck() nimmt uns diese Arbeit ab:

$food_names = wp_list_pluck( $foods, 'name' );

Heraus kommt die neue Liste:

array(
	'Banana',
	'Apple',
	'Lettuce',
	'Apple'
);

Easy.

Ausschneiden eines Feldes aus einem Array inklusive Schlüssel

Will man noch ein Feld ausschneiden wobei ein anderes Feld den Schlüssel darstellen soll, so kann man den optionalen, letzten Parameter nutzen:

$food_names = wp_list_pluck( $foods, 'name', 'id' );

Mit dem obigen Beispiel würde man also folgendes erhalten:

array(
	4 => 'Banana',
	5 => 'Apple',
	2 => 'Lettuce',
	7 => 'Apple'
);