Benutzerdefinierte Felder außerhalb des WordPress Loop

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 13 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

Die benutzerdefinierten Felder werden immer wieder gern eingesetzt, manchmal auch außerhalb des Loop und damit kommt man nicht ohne weiteres an die Daten. Eine Möglichkeit ist das Nutzen eines kleines SQL-Queries und schon stehen die Daten außerhalb des Loop zur Verfügung und die Werte, die man zum Beitrag pflegt, können auch außerhalb des Loop genutzt werden.

Das folgende simple Beispiel dient als Basis und muss an die Bedürfnisse angepasst werden, ebenso kann man eine Funktion dafür erstellen – viel Spaß damit. Genügend Raum zum Ausbau also und eher eine Ablage für mich und andere, als ein Tutorial, wie ich es sonst gern pflege und erkläre.


<ul>
<?php
global $wpdb;

$sql = "SELECT wpposts.*
		FROM $wpdb->posts wpposts, $wpdb->postmeta wppostmeta
		WHERE wpposts.ID = wppostmeta.post_id
		AND wppostmeta.meta_key = 'my-image'
		AND wpposts.post_status = 'publish'
		AND wpposts.post_type = 'post'
		ORDER BY wpposts.post_date DESC LIMIT 3";
	
$pageposts = $wpdb->get_results($sql, OBJECT);

foreach ($pageposts as $post) : setup_postdata($post);  ?>
	<li><a href="<?php the_permalink(); ?>" title="Link to <?php echo get_the_title(); ?>">
		<img src="<?php echo get_post_meta($post->ID, "my-image", $single = true); ?>" alt="<?php echo get_the_title(); ?>" /></a>
	</li>
<?php endforeach; ?>
</ul>

Insofern man über WordPress Zugriff verfügt, also innerhalb WordPress arbeitet oder die wp-load.php eingebunden hat, reicht ein kleiner Zugriff auf den Query von WordPress mit der ID und man kann die Inhalte der benutzerdefinierten Felder laden und sich den umständlichen Select sparen.


global $wp_query;
$post_id = $wp_query->post->ID;
$value = get_post_meta( $post_id, 'Name_of_custom_Field', TRUE );
echo $value; // Ausgabe des Wert zum benutzerdef. Feld

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.