0

我正在为我的项目创建插件。我想在插件被激活时创建一个页面,同样我想在插件被停用时删除该页面......我能够创建页面但我在删除页面时遇到问题......

我的代码是

 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,那么我也无法检索它..

有人可以建议我怎么做吗?

提前致谢

4

1 回答 1

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')  );
    }
 }
于 2013-10-31T06:10:44.867 回答