私はすべてを追跡することができないので、私は自分のテーマのオプションを整理したいです。コールバックの代わりにpage_callbackをファイルにリンクさせるにはどうすればよいですか。
ファイルをコールバックに含めることができることはわかっていますが、単にここでファイルを呼び出すことができるのであれば、なぜでしょうか。
add_submenu_page(
null // -> Set to null - will hide menu link
, 'Page Title' // -> Page Title
, 'Menu Title' // -> Title that would otherwise appear in the menu
, 'administrator' // -> Capability level
, 'menu_handle' // -> Still accessible via admin.php?page=menu_handle
, 'page_callback' // -> To render the page
);
Tracを実行して欠けている機能について文句を言う代わりに、私はOOP構文を利用することを提案します。
// File: base.class.php
abstract class wpse67649_admin_page_base
{
public function add_page()
{
add_submenu_page(
null // -> Set to null - will hide menu link
,'Page Title' // -> Page Title
,'Menu Title' // -> Title that would otherwise appear in the menu
,'administrator' // -> Capability level
,'menu_handle' // -> Still accessible via admin.php?page=menu_handle
,array( $this, 'render_page' ) // -> To render the page
);
}
// Must get defined in extending class
abstract function render_page();
}
// File: ___sub_page.class.php
class wpse67649_render_sub_page extends wpse67649_admin_page_base
{
public function __construct()
{
add_action( 'admin_init', array( $this, 'add_page' ) );
}
public function render_page()
{
// You have access to every $this->class_var from your parent class
?>
<div class="wrapper>
<!-- do funky page rendering -->
</div>
<?php
}
}
これは最終的なことではありませんが、ものをよりよく整理するためにあなたをルートに連れて行くべきです。
簡単に言えば - コールバックはファイルのロードを含めて何でもするのに十分だからです。 :)すでに可能なだけでなく、簡単なことでロジックを複雑にする価値はありません。