我们做一个插件,在这个插件中我们在代码中创建了一些页面。我们希望将这些页面标记为将来删除它们而不是其他页面。放一个标签或东西来找到它们。在我们的页面中,我们只有一个或几个短代码。我们还想确定我们在插件中创建的菜单。我们使用“wp_insert_post($ page);”创建页面和“wp_delete_post”删除它们。
答案 0 :(得分:1)
页面和菜单是WordPress系统中的等效post
项目。所以我建议你以同样的方式对待它们。
我考虑的一个解决方案是使用add_post_meta($post_id, '_to_be_removed', true, true)
在这些帖子上添加自定义元数据。
要检索并删除这些内容,您可以使用以下内容:
global $wpdb;
// get the post ids
$post_ids = $wpdb->get_col( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_to_be_removed'");
// delete the retrieved posts
foreach ($post_ids as $post_id) {
wp_delete_post($post_id);
}
您还可以在meta_key
名称中添加唯一标识符,以防止与其他插件或主题进行任何比较,例如只需将其添加到插件名称之前。