delete_expired_transients()


WordPress関数delete_expired_transients()は、期限切れのトランジェントをデータベースから削除するために使用されます。

構文

delete_expired_transients();

この関数は引数を受け取らず、自動的に期限切れのトランジェントを検出して削除します。特にカスタムコードやスケジュールされたイベント内で頻繁に使用されます。

使用例

例1: 即時実行

この例では、関数を直接呼び出して期限切れのトランジェントを削除します。

<?php delete_expired_transients(); ?>

例2: アクションフック内での実行

この例では、管理者ページをロードするたびにトランジェントを削除します。

<?php
add_action('admin_init', 'cleanup_expired_transients');
function cleanup_expired_transients() {
    delete_expired_transients();
}
?>

例3: 定期的な削除

定期的にトランジェントを削除するスケジュールイベントを設定します。

<?php
if (!wp_next_scheduled('daily_cleanup')) {
    wp_schedule_event(time(), 'daily', 'daily_cleanup');
}
add_action('daily_cleanup', 'cleanup_expired_transients');
function cleanup_expired_transients() {
    delete_expired_transients();
}
?>

例4: ボタンをクリックして削除

管理者向けにボタンを追加し、クリックでトランジェントを削除します。

<?php
add_action('admin_menu', function() {
    add_menu_page('Delete Transients', 'Delete Transients', 'manage_options', 'delete-transients', 'delete_transients_page');
});
function delete_transients_page() {
    if (isset($_POST['delete_transients'])) {
        delete_expired_transients();
        echo '期限切れのトランジェントが削除されました。';
    }
    echo '<form method="post"><button name="delete_transients">トランジェント削除</button></form>';
}
?>

例5: デバッグモードでの実行

このコードはデバッグモードが有効な場合にのみトランジェントを削除します。

<?php
if (defined('WP_DEBUG') && WP_DEBUG) {
    delete_expired_transients();
}
?>

注意点

  • delete_expired_transients()は、カスタムトランジェントを使用する場合、期限切れのトランジェントのみを削除します。
  • スケジュールイベントを設定する際は、重複したイベントを作成しないように注意してください。

関連機能: