概要
wp_delete_auto_drafts
関数は、古い自動保存された投稿情報を削除するために使用されます。この関数は、特に以下のようなシナリオで利用されることが多いです:
- ブログの投稿管理をクリーンに保つ
- データベースのサイズを最適化する
- 古い下書きを自動的に削除する際の処理
- ユーザーの作業が完了した後に不要な投稿を消去する
- 定期的なメンテナンスやクリーニング作業に組み込む
- 自動保存の過剰を防ぐ
- 投稿のリビジョン管理を効率化する
- 不要なデータを削除することで、サイトパフォーマンスを向上させる
この関数の構文、パラメータ、戻り値、そして関連する関数について詳しく見ていきましょう。
構文
wp_delete_auto_drafts();
パラメータ
この関数にはパラメータはありません。
戻り値
戻り値は、削除された自動下書きの数です。
関連する関数
wp_insert_post
wp_get_auto_drafts
wp_delete_post
これらの関数も自動下書きの管理に関連しています。詳細については、各関数のスラグリンクを参照してください。
使用可能なバージョン
この関数はWordPress 3.6から利用可能です。
コアファイルのパス
wp-includes/post.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1: 投稿を公開した際の自動下書き削除
add_action('publish_post', 'remove_auto_drafts_on_publish');
function remove_auto_drafts_on_publish($post_id) {
wp_delete_auto_drafts();
}
このコードは、投稿が公開された際に自動下書きを削除します。
サンプルコード 2: 自動下書きの削除を定期実行
if (!wp_next_scheduled('delete_old_auto_drafts')) {
wp_schedule_event(time(), 'daily', 'delete_old_auto_drafts');
}
add_action('delete_old_auto_drafts', 'wp_delete_auto_drafts');
このコードは、毎日自動下書きの削除をスケジュールします。
サンプルコード 3: 管理画面でのメンテナンス
add_action('admin_init', 'clean_auto_drafts');
function clean_auto_drafts() {
wp_delete_auto_drafts();
}
管理画面にアクセスした際に、自動下書きを削除します。
サンプルコード 4: プラグインの初期化での自動下書き削除
add_action('plugins_loaded', 'delete_auto_drafts_on_load');
function delete_auto_drafts_on_load() {
wp_delete_auto_drafts();
}
このコードは、プラグインが読み込まれた際に自動下書きの削除を実行します。
サンプルコード 5: 投稿の自動保存を制御
add_action('save_post', 'control_auto_saves');
function control_auto_saves($post_id) {
if (get_post_status($post_id) === 'draft') {
wp_delete_auto_drafts();
}
}
このコードは、ドラフト投稿が保存されたときに自動下書きを削除します。
これらのサンプルは、wp_delete_auto_drafts
関数を活用した実用的なシナリオを示しています。