カスタム投稿タイプを追加するプラグインをセットアップし、有効化時に wp_insert_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
それはうまく動作します。カスタム投稿タイプは、これら 2 つの関数が実行されるのと同じプラグインで作成されるため、投稿自体が通過する前に削除されますwp_delete_post
。カスタム投稿タイプを使用せずにこれらの機能をテストすると、有効化すると投稿が追加され、無効化すると削除されます。だから私は問題が投稿タイプにあることを知っています。これを回避する方法を知っている人はいますか?