我正在尋找一種將類方法傳遞給回調函數參數的方法。在WordPress中傳遞類方法作爲回調函數
我通常使用create_function()
如下,但我聽說它很慢,使調試困難。
add_action('init', create_function('', '$o = new AdminPageClass;'));
class AdminPageClass {
function __construct() {
add_action('admin_menu', array(&$this, 'admin_menu'));
}
function admin_menu() {
add_options_page(
'Sample Admin Page Class',
'Sample Admin Page Class',
'manage_options',
'sample_admin-page_class',
array(&$this, 'admin_page'));
}
function admin_page() {
?>
<div class="wrap">
<h1>Hi there</h1>
<p>Hello World!</p>
</div>
<?php
}
}
當然,它可以用這樣的額外功能來完成;但是,如果可能的話,我希望沒有它。
add_action('init', 'load_admin_page_class');
function load_admin_page_class() {
$o = new AdminPageClass;
}
此外,在它使它成爲可能之前實例化類對象,但它也會創建一個額外的行。
$o = new AdminPageClass;
add_action('admin_menu', array(&$o, 'admin_menu'));
class AdminPageClass {
function admin_menu() {
add_options_page(
'Sample Admin Page Class',
'Sample Admin Page Class',
'manage_options',
'sample_admin-page_class',
array(&$this, 'admin_page'));
}
function admin_page() {
?>
<div class="wrap">
<h1>Hi there</h1>
<p>Hello World!</p>
</div>
<?php
}
}
我總是在不同的文件中定義類,所以我更喜歡減少主插件文件中第一行的方法。但如前所述,應避免使用create_function()
。
我感謝您的信息。
好的和有益的答案。謝謝。這對我幫助很大。 –