Support » Allgemeine Fragen » Mein erstes Plugin: 716 Zeichen unerwartete Ausgabe während der Aktivierung

  • Ansichtssache

    (@ansichtssache)


    Ich bin gerade dabei mein erstes Plugin zu schreiben. Allerdings habe ich ein Problem mit dem Anlegen von Tabellen in der Datenbank:

    Das Plugin verursachte eine Fehlermeldung 716 Zeichen unerwartete Ausgabe während der Aktivierung. Sollte du Fehlermeldungen wie “headers already sent”, Probleme mit der Syndizierung der Feeds oder andere Fehler erhalten, versuche das Plugin zu deaktivieren oder zu löschen.

    Und zwar mache ich das folgendermaßen:

    register_activation_hook(__FILE__, "guessit_install");

    function guessit_install() {
        global $wpdb;
        require_once(ABSPATH."wp-admin/includes/upgrade.php");
        $charset_collate = '';
        if(!empty($wpdb->charset)) {
    	    $charset_collate .= "DEFAULT CHARACTER SET $wpdb->charset";
        }
        if (!empty($wpdb->collate)) {
            $charset_collate .= " COLLATE $wpdb->collate";
        }
        $table_name = $wpdb->prefix."guessit_question";
        $create = "CREATE TABLE ".$table_name." (
                    id INT NOT NULL AUTO_INCREMENT,
                    question TEXT NOT NULL,
                    answer TEXT,
                    start DATE,
                    end DATE,
                    CONSTRAINT pk_guessit_question PRIMARY KEY (id)
                ) ".$charset_collate.";";
        $wpdb->query($create);
    
        $table_name = $wpdb->prefix."guessit_answer";
        $create = "CREATE TABLE ".$table_name." (
                    id INT NOT NULL AUTO_INCREMENT,
                    value TEXT NOT NULL,
                    prename TEXT,
                    surname TEXT,
                    mail    TEXT,
                    date_arrived DATE,
                    question_id INT,
                    CONSTRAINT pk_guessit_answer PRIMARY KEY (id),
                    CONSTRAINT fk_guessit_answer FOREIGN KEY (question_id) REFERENCES guessit_question(id) ON DELETE SET NULL
                ) ".$charset_collate.";";
                    $wpdb->show_errors();
        $wpdb->query($create);
    }

    Die erste Tabelle – wp_guessit_question – wird ohne Probleme angelegt. Danach scheint der Fehler aufzutreten. Ich bin aber langsam mit meinem Latein am Ende; keine Ahnung woran das liegen könnte.

    Weiß da jemand eine Lösung?

    Liebe Grüße,
    Tobi

Ansicht von 1 Antwort (von insgesamt 1)
  • Moderator Frank Neumann-Staude

    (@fstaude)

    Hallo Tobi,

    Plugins dürfen an der Stelle keinen Text ausgeben. Daher die Meldung vom WordPress.

    Ich vermute das deine zweite Query einen Fehler wirft, und das folgende $wpdb->show_errors(); Fehlermeldung ausgibt, was an der Stelle dann aber zu der oben genannten Fehlermeldung von WP führt.

    Gruß
    Frank

Ansicht von 1 Antwort (von insgesamt 1)
  • Das Thema „Mein erstes Plugin: 716 Zeichen unerwartete Ausgabe während der Aktivierung“ ist für neue Antworten geschlossen.