マルチサイトで特定の投稿タイプを一括削除する方法について
-
下記のように記載したPHPを設置して投稿タイプが「post_type_name」となっているものを削除しておりまして、テーブル名「wp_posts」については正常に削除できました。
<?php // WordPress関数を動くようにする require_once( dirname(__FILE__) . '/wp-load.php' ); // wpdbでデータベースを直接検索しています。 $query_text = "SELECT ID FROM wp_posts WHERE post_type = 'post_type_name'"; $query_result = $wpdb->get_results($query_text); // 削除したリスト $delete_post_ids = ""; // 削除に失敗したリスト $not_found_post_id = ""; foreach($query_result as $item) { $id = $item->ID; if (wp_delete_post($id, $force_delete) === false) { $not_found_post_id .= "<li>$id</li>"; } else { $delete_post_ids .= "<li>$id</li>"; } } if (empty($delete_post_ids)) { echo "<p>対象の投稿が見つかりませんでした。</p>"; } else { if ($force_delete === true) { echo "<p>次の投稿を削除しました。</p>"; } else { echo "<p>次の投稿をゴミ箱に移動しました。</p>"; } echo '<ul>'; echo $delete_post_ids; echo '</ul>'; } if (empty($not_found_post_id) === false) { if ($force_delete === true) { echo "<p>次の投稿を削除できませんでした。</p>"; } else { echo "<p>次の投稿をゴミ箱に移動できませんでした。</p>"; } echo '<ul>'; echo $not_found_post_id; echo '</ul>'; } ?>
マルチサイトなので同じ要領で「wp_posts」の部分を「wp_2_posts」と変更して別のサイトの投稿タイプ「post_type_name」を一括削除しようと思うのですが、「次の投稿をゴミ箱に移動しました。」と表示はされるもののデータ自体は削除できていません。
理由もわからず、行き詰まっています。
解決策、ヒント頂ければ幸いです。よろしくお願いいたします。
5件の返信を表示中 - 1 - 5件目 (全5件中)
5件の返信を表示中 - 1 - 5件目 (全5件中)
- トピック「マルチサイトで特定の投稿タイプを一括削除する方法について」には新たに返信することはできません。