私はWPAlchemyを使って "admin only"メタボックスを作成しようとしています。例えばボックスは、「機能投稿」チェックボックスおよび他の機能を含み得る。
管理者だけにこのメタボックスを表示し、それでも正しく機能させるにはどうすればよいですか。私は現在以下のコードを使用していますが、フロントエンドの内側にあるものすべての値をエコーしようとすると、 "致命的なエラー:オブジェクトではないメンバ関数the_meta()の呼び出し"が表示されます。 current_user_canを使用しない場合はすべてが意図したとおりに機能し、adminとしてログインしてフロントエンドを表示している場合も機能します。
if (current_user_can('administrator')) {
$custom_admin_mb = new WPAlchemy_MetaBox(array(
'id' => '_custom_admin_meta',
'title' => 'Admin only',
'template' => TEMPLATEPATH . '/custom/admin_meta.php',
));
}
以下を試してください。
$custom_admin_mb = new WPAlchemy_MetaBox(array(
'id' => '_custom_admin_meta',
'title' => 'Admin only',
'template' => get_stylesheet_directory() . '/custom/admin_meta.php',
'output_filter' => 'my_output_filter',
));
function my_output_filter() {
if (current_user_can('administrator')) return true;
return false;
}