Følgende kode er udviklet til vsvt.dk 

Funktionen er at det skal udtrække følgende felter fra databasen.

navn
mobil
brugernavn
Type

Hvis type = Aktiv så bliver de vist ellers ikke.

Det er den simple løsning uden AJAX da WordFENCE og Real SSL stopper AJAX selv efter whitelist.

				
					<?php

/**
 * Kode udviklet af Frank | Certa-WEB
 */

function telefonliste() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'noptin_subscribers';

    $subscribers = $wpdb->get_results(
        "SELECT navn, mobil, brugernavn FROM $table_name WHERE type = 'Aktiv'"
    );

    if (!$subscribers) {
        return "<p>Ingen abonnenter fundet.</p>";
    }

    $sort_by = isset($_GET['sort_by']) ? $_GET['sort_by'] : 'navn';
    usort($subscribers, function($a, $b) use ($sort_by) {
        return strcmp($a->$sort_by, $b->$sort_by);
    });

    $output = "<table border='1' cellspacing='0' cellpadding='5'>";
    $output .= "<tr>";
    $output .= "<th><a href='?sort_by=navn'>Navn</a></th>";
    $output .= "<th><a href='?sort_by=mobil'>Mobil</a></th>";
    $output .= "<th><a href='?sort_by=brugernavn'>Brugernavn</a></th>";
    $output .= "</tr>";

    foreach ($subscribers as $subscriber) {
        $output .= "<tr>";
        $output .= "<td>" . esc_html($subscriber->navn) . "</td>";

        $mobil = esc_html($subscriber->mobil);
        if ($mobil != "0.00000000" && $mobil != "00000000") {
            $mobil = intval($mobil);
            $output .= "<td>" . $mobil . "</td>";
        } else {
            $output .= "<td></td>";
        }

        $brugernavn = esc_html($subscriber->brugernavn);
        $output .= "<td>" . $brugernavn . "</td>"; // Ingen grund til at tjekke for 0'er her

        $output .= "</tr>";
    }
    $output .= "</table>";

    return $output;
}

add_shortcode('telefonliste_v1', 'telefonliste');

?>
				
			

SHORTCODE

Man bruger følgende shortcode til at kalde funktionen.

[telefonliste_v1]