0

私は自分のプロジェクトのプラグインを作成しています。プラグインがアクティブになったときに 1 つのページを作成し、プラグインが非アクティブになったときにそのページを削除したい... ページを作成することはできますが、ページの削除中に問題に直面しています...

私のコードは

 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);
 }

それはページを削除していません...私が与えた場合、それは正常に機能しています...グローバル変数にページIDwp_delete_post('116')を割り当てているので、それを取得することもできません..

誰も私にそれを行う方法を提案できますか?

前もって感謝します

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 に答える