2013-05-23 15 views
11

My Pluginは、基本的にリンク表示ページです。たとえば、他のWebサイトへのリンクを含むページを表示したい場合などです。 WP-adminにプラグインのページへの管理者のURL

私はこのコードを追加左サイドバーのメニュー項目があります。

function bls_add_menu_page() { 
    add_menu_page('Custom Links', 'Custom Links', 'manage_options', 
        'customlinks', 'bsl_admin_page', '', 15); 
} 

新しいリンクを追加した後に、私は管理者で私のプラグインのホーム・ページにリダイレクトします。プラグインメニューのリンクをクリックしたときのURLは:

localhost/wp-admin/admin.php?page=customlinks 

どのように私はWorpdressでそのURLを取得できますか?現在、私はちょうどこれを行う:

wp_redirect('/wp-admin/admin.php?page=customlinks'); 

しかし、私はプラグインの管理者のURLを取得するより良い方法がありますか?

答えて

21

あなたはadmin_url機能を使用してadmin.phpに具体的なURLを取得する:あなたが気にする必要はありませんので、

admin_url('admin.php'); # http(s)://localhost/wp-admin/admin.php 

この関数はあなたのためのあなたのWordpressの設定に基づいて適切shemeを(HTTP/HTTPS)を選択それ。管理者へのパスと同じです。指定する必要があるのは、ファイル名(admin.php)だけです。

そして、あなたはページクエリ-info部を追加するには、具体的な例では:メニューページまたはオプションページについて

$url = admin_url('admin.php?page=customlinks'); 
wp_redirect($url); 
9

URLは(「ページ」パラメータ(ページスラグは(add_menu_pageで定義)またはadd_options_pageを持っています))。オプションページのURLがあるので、あなたはいつも、$ _GETから現在のページ[「ページ」]のparamを取得することができます:

admin_url("options-general.php?page=".$_GET["page"]) 

、メニューページのURL(実際に、それはまた、オプションのページで動作します)です。

admin_url("admin.php?page=".$_GET["page"]) 
関連する問題