答案重新制作。原来是个疯狂的想法。。。
答案与Rarst在链接问题中发布的答案相同
How to *remove* a parent theme page template from a child theme?
区别在于admin_head
挂钩
和一项仅用于磨合的检查edit-page
而且不在edit-post
或edit-custom_post_type
, 因为所有这些案件都是由admin_head-edit.php
.
父母是“二十一”,孩子叫“十二”。
add_action(\'admin_head-edit.php\',\'wpse_54054_remove_template\');
function wpse_54054_remove_template()
{
global $wp_themes,$current_screen;
if(\'edit-page\' != $current_screen->id)
return;
get_themes();
$templates = &$wp_themes[\'Twenty Twelve\'][\'Template Files\'];
$template1 = trailingslashit( TEMPLATEPATH ).\'showcase.php\';
$template2 = trailingslashit( TEMPLATEPATH ).\'sidebar-page.php\';
$key1 = array_search($template1, $templates);
$key2 = array_search($template2, $templates);
unset( $templates[$key1], $templates[$key2] );
}