だから私はWordPressのプラグインを作成しようとしていると私はこの提供された機能を使用していくつかのメニューページを作成しました:
add_submenu_page('my_plugin_menu', 'Edit record page', 'Edit record page', 'manage_options', 'edit_record_page', array(&$this, 'display_edit_record_page');
ブラウザのアドレスバーに表示されるページに移動すると、次のように表示されます。
http://mydomain.com/wp/wp-admin/admin.php?page=edit_record_page
私がやりたいことはこのページをリンクできるようにすることですが、私はそれを行うより良い方法がないためにリンクをハードコーディングしなければならないことに気付き、私は開発サイトに取り組んでいます。だから私は私がこのプラグインコードをプロダクションサーバーにコピーするときそれがうまくいくように私がどのように私が私のブラウザ上で見たリンクを動的に生成することができるか疑問に思いました。つまり、サブメニューページcreateのリンク部分を生成するWordPress関数があります。
page=edit_record_page
また、リンクにクエリ文字列を追加する場合は、手動で追加するのと同じくらい簡単です。
http://mydomain.com/wp/wp-admin/admin.php?page=edit_record_page&rec_id=1
またはそれを行うための適切なWordPressの機能もありますか?
admin_url()
は正しい管理ページURLを取得します(そして network_admin_url()
はネットワーク管理ページURLを取得します)
オプションで、連想配列を使用して、URLに引数を追加するために add_query_arg()
を使用できます。
$page = 'edit_record_page';
$rec_id = 1;
$record_url = add_query_arg(compact('page', 'rec_id'), admin_url('admin.php'));
<a href="admin.php?page=edit_record_page">Link Text</a>
そして
<a href="admin.php?page=edit_record_page&rec_id=1">Link Text</a>