Plugin: Wie man Links in der Admin-Seite öffnet, öffnet sich im Admin-Panel

Beim Schreiben meines Plugins habe ich meine Menüs und Untermenüs auf der Admin-Seite hinzugefügt. Die Seiten laden und funktionieren wie vorgesehen. Ich versuche, einige Links innerhalb dieser Seiten zu erstellen, die einen Parameter an eine neue Seite übergeben. Ich bin kurz davor, dies zu erreichen, aber die Seite öffnet sich immer außerhalb des Admin-Bildschirms . Ich bin ganz neu dabei und ganz festgefahren.

Hier ist ein Screenshot.

Wie kann ich einen Link von einer Admin-Seite erhalten, die im Admin-Panel geöffnet wird?

Hier ist die function, die ich anrufe, um die Postdaten zu erhalten, die die ID an die Seite übergeben, die die databasebearbeitung bearbeitet.

add_action( 'admin_post_add_recid', 'prefix_admin_add_recid' ); function prefix_admin_add_recid() { include( plugin_dir_path( __FILE__ ) . '/management_tools/edit.php' ); } 

und der Link, der es aufruft, wobei 1 die ID ist, die ich an die Bearbeitungsseite übergeben muss.

 href="admin-post.php?action=add_recid&data=1" 

Hier ist Hintergrund zu was / warum ich das mache, wenn Sie sich langweilen wollen. Ich migriere Inhalte von einer Nicht-Wordpress-Site. Das einzige, was WordPress nicht direkt aus der Box unterbringen kann, ist ein altes PHP-database-Zeug, das es schon seit einiger Zeit gibt. Ich möchte diesen databasecode in ein Plugin einfügen, damit er innerhalb von WordPress verwaltet, gesichert und migriert werden kann, falls dies jemals erforderlich sein sollte. Es ist ein Plug-In für bestimmte Verwendung, das nicht verteilt wird. Der vorhandene Code wurde seit seiner Erstellung nicht geändert und wird wahrscheinlich nicht mehr geändert werden müssen, sobald er in WordPress ist. Der gesamte Code zum Lesen und Einfügen der database funktioniert innerhalb des Plugins. Im Grunde bin ich kurz davor, die Aufgabe abzuschließen, ohne sie von Grund auf neu schreiben zu müssen, wofür ich nicht das Budget habe. Ich finde einfach keine Möglichkeit, die Admin-Seiten im Admin-Bereich zu bearbeiten / zu löschen. Danke fürs Lesen und für jede Hilfe, die Sie anbieten können.

Solutions Collecting From Web of "Plugin: Wie man Links in der Admin-Seite öffnet, öffnet sich im Admin-Panel"

Ich hatte das gleiche Problem und habe eine Lösung gefunden:

Rufen Sie dieselbe Seite mit einem Parameter auf und fügen Sie den Inhalt je nach Parameter hinzu:

 if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define(PLUG_NAME, "my_admin"); //hook to add an item in the menu admin add_action('admin_menu', 'my_admin_setup_menu'); function my_admin_setup_menu(){ //1st : title of the page, 2nd : title in the menu menu add_menu_page( 'My plugin page', 'My plugin', 'manage_options', 'my_admin', 'my_plugin_init' ); } function my_plugin_init(){ //links inside the page $page_link1="link 1"; $page_link2="link 2"; $page_link3="link 3"; //get the id of the page we want to display // then we include the page if (isset($_GET['idp'])){ $page =(int) $_GET['idp']; switch ($page) { case 1: $page_inc="page1.php"; break; case 2: $page_inc="page2.php"; break; case 3: $page_inc="page3.php"; break; } include( plugin_dir_path( __FILE__ ) . $page_inc); }else{ echo "

My plugin home

"; //display the link in the main page echo $page_link1."
"; echo $page_link2."
"; echo $page_link3."
"; } } ?>

Ich bin mir nicht sicher, ob ich die Frage vollständig verstanden habe, aber es gibt die function wp_redirect , die den Benutzer auf eine andere URL redirect kann.

 $url = admin_url("admin-post.php?action=add_recid&data=1"); if (wp_redirect($url)) { exit ; }