Mitgliederliste

Der untenstehende Code führt eine Datenbankabfrage auf 4 benutzerdefinierte Felder in Artikeln aus und zeigt den Inhalt als gruppierte (region_mitglied) und sortierte (namen_mitglied) Liste an. Der Code kann in eine Templatedatei statt des Contentbereiches eingesetzt werden.

So sieht’s aus: http://gsew.de/entwicklungen/mitgliederliste/

<?php 
$meta_key1 = 'namen_mitglied';
$meta_key2 = 'arbeitsort_mitglied';
$meta_key3 = 'region_mitglied';
$meta_key4 = 'stellenbezeichnung_mitglied';

$postids=$wpdb->get_col($wpdb->prepare("
SELECT      key3.post_id
FROM        $wpdb->postmeta key3
INNER JOIN  $wpdb->postmeta key1 
            on key1.post_id = key3.post_id
            and key1.meta_key = %s 
INNER JOIN  $wpdb->postmeta key2
            on key2.post_id = key3.post_id
            and key2.meta_key = %s
WHERE       key3.meta_key = %s 
ORDER BY    key3.meta_value, key1.meta_value", $meta_key1, $meta_key2, $meta_key3)); 

if ($postids) {
  foreach ($postids as $id) { 
    $post=get_post(intval($id));
    setup_postdata($post);
    $print1 = get_post_meta($post->ID, $meta_key1, true); 
    $print2 = get_post_meta($post->ID, $meta_key2, true); 
    $print3 = get_post_meta($post->ID, $meta_key4, true);
    $region = get_post_meta($post->ID, $meta_key3, true); ?>

    <?php
    if ($region_alt<>$region) {
       echo "<table border='0' width='100%'>
       <caption><strong><br />Region $region (sortiert nach Name und Ort)<br /><br /></strong></caption>
       <tr><th width='30%'>Name/Vorname</th><th width='30%'>Arbeitsort</th><th>Stellenbezeichnung</th></tr>";
      }

    echo '<tr><td><a href='.$v_link.'><strong>'.$print1.'</strong></a></td>';
    echo '<td>'.$print2.'</td>';
    echo '<td>'.$print3.'</td></tr>';
    $region_alt = $region;
  }
  echo '</table>';
}
?>

2638 mal gelesen

Veröffentlicht in Funktionen ohne Plugin

Schreibe einen Kommentar

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

*