2014-09-14 2 views
0

Я создал страницу, когда мой плагин активирован. Его работа прекрасна. Теперь я хочу удалить страницу, когда мой плагин отключен.Как удалить страницу после деактивации плагина

Мой код приведен ниже:

register_activation_hook(__FILE__, 'my_plugin_install_function'); 
function my_plugin_install_function() { 
$post = array('page_template' => '', 'comment_status' => 'closed', 'ping_status' => 'closed' ,'post_author' => 1,'post_date' => date('Y-m-d H:i:s'),'post_name' => 'Checklists','post_status' => 'publish' , 
     'post_title' => 'Checklists', 
     'post_type' => 'page', 
);//insert page and save the id 
$newvalue = wp_insert_post($post, false); 
//save the id in the database 
update_option('hclpage', $newvalue); } 

register_deactivation_hook(__FILE__, 'my_plugin_remove'); 
function my_plugin_remove() {// the id of our page... 
$the_page_id = get_option($newvalue); 
if($the_page_id) { 

    wp_delete_post($the_page_id); // this will trash, not delete 

} 

Как я могу получить идентификатор сообщения, чтобы удалить эту страницу?

ответ

1
wp_delete_post($the_page_id, true); 

Второй параметр является «принудительно удалить», это логическое значение, и когда установлен true он удаляет пост без его уничтожением.

Вы можете прочитать в the docs

Вы можете получить идентификатор с помощью get_option функции:

get_option('hclpage'); 
+0

где получить PAGE_ID ??? могу ли я использовать $ newvalue ??? –

+0

вы должны использовать имя опции, чтобы получить ее из БД. –

+0

получил. Tomas Cot Большое спасибо –

0

Как насчет нескольких страниц, созданных как массив, где массив страниц, созданного передается wp_insert_post(). Как сохранить идентификатор с помощью update_option(). Ниже мой код:

public function create_pages(){ 
$pages_definitions = array(
    'gp-convert'=>array(
    'title'=>'Grade Point Conversion', 
    'content'=>'[grade-point-convert]' 
), 

    'gpa-calculate-form'=>array(
    'title'=>'Grade Point Calculate Form', 
    'content'=>'[grade-point-calc-form]' 
), 
); 

foreach($pages_definitions as $slug=>$page){ 
    //check if the pages does not exist 
    $query = new WP_Query('pagename='.$slug); 
    if(!$query->have_posts()){ 
$page_created_id = wp_insert_post(array(
    'post_title'=>$page['title'], 
    'post_content'=>$page['content'], 
    'post_name'=>$slug, 
    'post_type'=>'page', 
    'post_status'=>'publish', 
    'ping_status'=>'closed', 
    'comment_status'=>'closed' 
)); 
    } 
    } 
} 

большое спасибо

Смежные вопросы