[Wordpress] Parameter im Backend per URL übergeben

dirion

Grünschnabel
Hallo,

ich versuche mich gerade an meinem ersten eigenem Plugin und komme trotz google leider nicht alleine weiter.

Das Plugin sieht so aus:

Code:
<?php...
function kunde() { ?>
    <div class="wrap">
        <h1>Kunde</h1>
        <?php $customers = Customer::getCustomers(); ?>
            <table border="0" class="wp-list-table widefat fixed striped">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Nachname</th>
                    <th>E-Mail</th>
                </tr>
            </thead>
            <tbody>
                <?php for ($i=0; $i<count( $customers ); $i++)    {    ?>                <tr>
                    <td><a href="/wp-admin/admin.php?page=kunde&kundeid=<?php echo $customers[$i]["id"]; ?>"><?php echo $customers[$i]["id"]; ?></a></td>
                    <td><a href="/wp-admin/admin.php?page=kunde&id=<?php echo $customers[$i]["id"]; ?>"><?php echo $customers[$i]["name"]; ?></a></td>
                    <td><a href="/wp-admin/admin.php?page=kunde&id=<?php echo $customers[$i]["id"]; ?>"><?php echo $customers[$i]["email"]; ?></a></td>
                </tr>
                <?php } ?>
            </tbody>
        </table>
        </div> <!-- .wrap -->
        <?php    }

function kunde() {    include( plugins_url() . '/login/customer.php' );}

// Adminmenu erweitern
function login_menu() {
    add_menu_page('kunde', 'kunde', 10, __FILE__, 'kunde');
    add_submenu_page(NULL, 'Kunde', 'Kunde', 10, 'kunde', 'kunde');
}

// Registrieren der WordPress-Hooks
add_action('admin_menu', 'login_menu');
?>

Ich möchte natürlich beim Klick auf einen Link in der Tabelle, welche die customer.php aufruft (included) die id per GET übergeben. Das funktioniert leider nicht. Eine Lösung habe ich auch noch nicht gefunden und hoffe auf Eure Hilfe
icon_sad.gif


Danke.
 

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
Get kann nicht funktionieren da Get eine HTTP Methode ist und bei include wird deine Datei direkt vom Dateisystem gelesen und interpretiert und nicht vom Webserver.
Include kann URLs nur verwenden wenn allow_url_include und allow_url_fopen aktiviert ist. Dies ist aber aus Sicherheitsgründen meistens deaktiviert.
Eine Lösung wäre Get zu beschreiben bevor du die Datei inkludierst.
PHP:
$_GET['foo'] = bar;
Include('foobar.php');
Oder etwas sauberer ohne globale Variable, schreibe deine ID in eine Variable. Diese Variable ist dann auch in der inkludierten Datei abrufbar.
PHP:
$foo = bar;
Include('foobar.php');

Grüße
 

Neue Beiträge