it-swarm.com.de

Wie füge ich mit AJAX einen benutzerdefinierten Beitragstyp in einem anderen benutzerdefinierten Beitragstyp-Bearbeitungsbildschirm hinzu?

Ich habe zwei benutzerdefinierte Post-Typen: CD und Track. Jedem von ihnen sind einige Metadaten zugeordnet.

Ich versuche, einem CD-Beitrag Track-Beiträge hinzuzufügen, wenn der CD-Beitrag bearbeitet wird. Auf der CD-Bearbeitungsseite habe ich den Link "Titel hinzufügen". Wenn ich darauf klicke, möchte ich, dass unter dem Link ein "Neues Track-Formular" erscheint, in dem nach Informationen zum Track (benutzerdefinierter Post-Typ) gefragt wird, zusammen mit allen Metadaten, die für einen Track angegeben werden müssen - als ob " Der Link "Spur hinzufügen" wurde in den linken Menüs WP angeklickt. Hoffe das macht Sinn.CD

Meine benutzerdefinierten CD- und Track-Post-Typen werden wie folgt registriert: http://wordpress.Pastebin.com/Y6aagTVs

Auf der Edit CD Seite habe ich folgenden Link <a class="addTrack" href="">Add Track</a>

Ich vermisse AJAX und die Funktion, die das Hinzufügen des "New Track Form" übernimmt. Folgendes habe ich bisher in der AJAX -Funktion:

// Add Tracks   
$("a.addTrack").click(function () {
    opts = {
        url: ajaxurl, // ajaxurl is defined by WordPress and points to /wp-admin/admin-ajax.php
        type: 'POST',
        async: true,
        cache: false,
        dataType: 'json',
        data:{
            action: 'track_add', // Tell WordPress how to handle this ajax request
        },
        success: function(response) {
            return false;
        },
        error: function(xhr,textStatus,e) {  // This can be expanded to provide more information
            alert("There was an error adding a track.");
            return false;
        }
    };
    $.ajax(opts);
});

Und die Funktion, die das Einfügen des "New Track Form" übernimmt, ist

// Add Tracks
add_action('wp_ajax_track_add', 'my_ajax_admin_add_track');
function my_ajax_admin_add_track() {
}

Ich weiß nicht, wie ich mit den Funktionen AJAX und my_ajax_admin_add_track () weitermachen soll. Würde mich über jede Hilfe und Tipps wirklich freuen !!!

Vielen Dank, Dasha

1
dashaluna

Holen Sie sich für Ihre Funktion my_ajax_admin_add_track () die Formularfelddaten aus dem Array $ _POST, füllen Sie die erforderlichen Daten in ein Array, um wp_insert_post () aufzurufen, und rufen Sie dann wp_insert_post () auf, und übergeben Sie die Postdaten. Bei Erfolg sollte die neue Beitrags-ID zurückgegeben werden.

1
Mark