我正在为我的项目创建插件。我想在插件被激活时创建一个页面,同样的方式我想在插件被取消激活时删除该页面...我能够创建页面但我在删除页面时遇到问题...
我的代码是
global $page_id;
register_activation_hook(__FILE__,'createPage');
register_deactivation_hook(__FILE__, 'dropPage');
function createPage()
{
global $page_id;
$page['post_type'] = 'page';
$page['post_content'] = 'hello this page created by plugin';
$page['post_status'] = 'publish';
$page['post_title'] = 'dpage';
$page_id = wp_insert_post ($page);
}
function dropPage()
{
global $page_id;
wp_delete_page($page_id);
}
它不会删除页面...如果我给wp_delete_post('116')
然后它工作正常...我已在全局变量中指定页面ID ,那么我也无法检索它。
任何人都可以建议我怎么做吗?
提前致谢
答案 0 :(得分:1)
您添加的全局$page_id
只会在您激活插件时包含页面ID。要存储页面ID,请使用Options API。
register_activation_hook(__FILE__,'createPage');
register_deactivation_hook(__FILE__, 'dropPage');
function createPage()
{
$page['post_type'] = 'page';
$page['post_content'] = 'hello this page created by plugin';
$page['post_status'] = 'publish';
$page['post_title'] = 'dpage';
$page_id = wp_insert_post ($page);
update_option('the_page_id_i_created', $page_id );
}
function dropPage()
{
if( get_option('the_page_id_i_created') ){
wp_delete_page( get_option('the_page_id_i_created') );
}
}