Benutzerdefiniertes Verhalten beim Hinzufügen eines neuen benutzerdefinierten Beitragstyps im Dashboard

Ich habe einen benutzerdefinierten Post-Typ, für den ich einige benutzerdefinierte Arbeiten mache. Ich möchte dem Post-Typ nach der Erstellung einige benutzerdefinierte functionen hinzufügen, aber ein Administrator kann die benutzerdefinierte Aktion nur über das Dashboard auslösen.

Beispielsweise

Sie erstellen einen neuen Post des benutzerdefinierten Typs, und nachdem er erstellt wurde, können Sie den Post bearbeiten. Dort sehen Sie eine Schaltfläche mit der Aufschrift “Custom Function”, in der Javascript ausgeführt wird.

Die Idee

Ich brauche die benutzerdefinierte Schaltfläche, um eine function in functions.php auszuführen, die X Menge der Einträge in einer benutzerdefinierten Tabelle in der MySQL-database erstellt und dann die Werte zurückgibt. Ich benutze eine Eingabe neben der Schaltfläche, um den Wert von X zu bestimmen.

Ich werde mit der PHP + sql + Ajax in Ordnung sein, aber ich weiß einfach nicht einen nicht-Hack-Weg, um die benutzerdefinierten Eingaben auf der Bearbeitungsseite angezeigt werden. Irgendwelche Ideen?

Solutions Collecting From Web of "Benutzerdefiniertes Verhalten beim Hinzufügen eines neuen benutzerdefinierten Beitragstyps im Dashboard"

Fügen Sie Ihrem benutzerdefinierten Post-Typ-Bearbeitungsbildschirm ein Meta-Feld hinzu , um Ihre Auszeichnung zu enthalten. Überprüfen Sie, $pagenow globale $pagenow nur in der post.php , nicht in post-new.php , und überprüfen Sie $current_user global für die Rolle des Administrators, um andere Benutzerrollen auszuschließen.

Wenn Sie nicht vertraut sind, lesen Sie sich die $wpdb class für Ihre Abfragen durch und lesen Sie AJAX in WordPress .

get_current_screen verwenden get_current_screen und current_user_can anstelle von dirty, dirty globals, wie @TheDeadMedic im Kommentar unten vorgeschlagen.