Adăugare link "extern" în meniul de administrare WordPress

30 ian. 2011, 23:50:32
Vizualizări: 16.1K
Voturi: 7

Încerc să adaug un link în meniul de administrare (dashboard/backend) care să ducă către frontend-ul WordPress, practic vreau un link în meniu care să mă ducă la blog.

Am găsit câteva metode de a adăuga elemente noi în meniul de administrare, dar nu am reușit să fac link către home_url, se pare că meniul de administrare este conceput doar pentru linkuri către pagini din wp-admin. A reușit cineva să facă asta?

Edit:
Am încercat cu asta: https://gist.github.com/792b7aa5b695d1092520

add_admin_menu_item('Overview',array( 
      'title' => 'Vezi Site',
      'slug' => get_bloginfo('url')
  ));

Care generează linkul hxxp://myurl.com/myurl.com
Cu acest plugin (hxxp://wordpress.org/extend/plugins/admin-menu-editor/), obțin:
hxxp://myurl.com/wp-admin/www.test.com

2
Comentarii

posibil duplicat al Adăugarea unui link arbitrar în meniul Admin?

Jan Fabry Jan Fabry
1 feb. 2011 13:11:23

Deoarece acest subiect apare încă în primele rezultate de căutare, iar după multe ore de cercetare, iată o metodă de a face acest lucru fără redirecționare. http://www.techedg.com/2014/09/06/5575/a-simple-way-to-add-an-external-link-to-the-wordpress-admin-menu/

User User
6 sept. 2014 19:34:19
Toate răspunsurile la întrebare 5
3

poți crea o funcție care redirecționează către front-end astfel:

function redirect_home_987(){
  wp_redirect( home_url() ); 
  exit;
}

și apoi poți apela această funcție în funcția implicită add_menu_page din WordPress astfel:

add_menu_page( 'redirecting', 'Vezi Site', 'read', 'my-top-level-handle', 'redirect_home_987');

Sper că acest lucru te ajută

31 ian. 2011 09:43:28
Comentarii

Nu sunt sigur dacă te-am înțeles corect. Am adăugat asta în functions.php acum:

add_action('admin_menu', 'add_viewsite');

function add_viewsite() { add_menu_page( 'redirecting', 'View Site', 'read', 'my-top-level-handle', 'redirect_home_987'); }

// Apelează această funcție pentru un link "acasă" function redirect_home_987(){ wp_redirect( home_url() ); exit; }

Ceea ce îmi oferă un link care arată astfel: http://www.url.com/wp-admin/admin.php?page=my-top-level-handle

INT INT
31 ian. 2011 16:15:23

Am avut aceeași problemă - unele headere au fost deja trimise. Am încercat câteva opțiuni; singura care a părut să funcționeze (și cu care nu sunt prea mulțumit) este combinarea celor de mai sus cu JavaScript, ca în acest răspuns

Hobo Hobo
7 iul. 2013 21:59:54

Va genera o eroare "headers already sent".

Joel James Joel James
22 aug. 2019 12:10:30
1

Numele site-ului (în stânga sus, lângă sigla WP) are legătură către front-end, nu este suficient?

De asemenea, ar fi de ajutor dacă ai include în întrebare codul pe care l-ai încercat până acum.

31 ian. 2011 00:07:41
Comentarii

Mulțumesc pentru răspunsul tău. Am eliminat numele site-ului, deoarece a stricat aspectul personalizat al backend-ului meu, așa că am nevoie să adaug un link către frontend în meniu în schimb.

INT INT
31 ian. 2011 01:16:30
2

Nu puteți adăuga elemente în meniurile de administrare care să indice către URL-uri externe, funcțiile de adăugare a meniurilor nu acceptă acest lucru și nici nu o vor permite.

Totuși, dacă atașați un callback la hook-ul admin_menu, puteți insera manual unele elemente și puteți depăși complet problema URL-urilor externe. Eu însumi fac acest lucru și sunt destul de surprins că nimeni nu a menționat deja problema legată de legăturile externe din meniu.

Am furnizat un exemplu când am răspuns la întrebarea Adăugarea unei legături arbitrare în meniul de administrare?

Anunțați-mă dacă acest lucru vă ajută.

1 feb. 2011 12:52:38
Comentarii

De fapt, această întrebare pare să fie o copie exactă a aceleia. Așa că am votat să fie închisă!

Jan Fabry Jan Fabry
1 feb. 2011 13:12:50

@Jan Fabry - Mă gândeam la asta când am legat întrebarea de cealaltă, așa că am votat și eu să fie închisă ca duplicat (utilizatorul ar trebui să aibă deja răspunsul pe care îl caută acum, așa că închiderea nu trebuie considerată ceva rău).

t31os t31os
1 feb. 2011 13:16:56
0
add_action('admin_menu', 'example_admin_menu');

/**
* adaugă link extern în zona de Unelte
*/
function example_admin_menu() {
    global $submenu;
    $url = 'http://www.example.com/';
    $submenu['tools.php'][] = array('Exemplu', 'manage_options', $url);
}
5 mai 2020 15:11:44
1
-1

doar adaugă ../ ca prefix pentru slug:

add_admin_menu_item('Overview',array( 
  'title' => 'Vezi Site',
  'slug' => '../slug'          // URL relativ
));
20 oct. 2017 14:32:25
Comentarii

Te rugăm să [editezi] răspunsul tău și să adaugi o explicație: de ce ar putea această soluție să rezolve problema?

fuxia fuxia
20 oct. 2017 15:30:27