Я создал плагин, который добавляет пользовательский тип записи, а затем приносит в кучу фиктивного контента с wp_insert_post на активацию, как так:Удаление контента с wp_delete_post в плагине с ТАМОЖЕННЫЙ ПОСТ Тип
register_activation_hook(__FILE__, array($this, 'activate'));
public function activate($network_wide) {
include 'dummycontent.php';
foreach ($add_posts_array as $post){
wp_insert_post($post);
};
} // end activate
Я бы хотели убрать это содержание, когда плагин деактивируется поэтому я создал эту функцию:
register_deactivation_hook(__FILE__, array($this, 'deactivate'));
public function deactivate($network_wide) {
include 'dummycontent.php';
foreach($remove_posts_array as $array){
$page_name = $array["post_title"];
global $wpdb;
$page_name_id = $wpdb->get_results("SELECT ID FROM " . $wpdb->base_prefix . "posts WHERE post_title = '". $page_name ."'");
foreach($page_name_id as $page_name_id){
$page_name_id = $page_name_id->ID;
wp_delete_post($page_name_id, true);
};
};
} // end deactivate
Он работает просто отлично. За исключением того, что пользовательский тип сообщения создается с тем же плагином, через который выполняются эти две функции, тип сообщения удаляется до того, как сами записи могут быть через wp_delete_post
. Когда я тестирую эти функции без специальных сообщений типа post, они добавляются после активации и удаляются при деактивации. Поэтому я знаю, что проблема связана с типом сообщения. Кто-нибудь знает, как обойти это?
Блестящий! Работает отлично. –