Поддержка Проблемы и решения Удаление записей из таблицы по заданию cron

  • Добрый день!
    Нужно одни раз в день выполнять такой запрос:

    
    DELETE FROM wp_postmeta WHERE meta_key='snap_isAutoPosted' OR meta_key='snapFB' OR 
    meta_key='snapTW' OR meta_key='snapVK'

    Подскажите, пожалуйста, как это сделать?

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • То есть, о существовании Cron — вы знаете.
    Но вы не сказали, что именно у вас не получается.

    А так да, используйте: wp_schedule_event()

    Не совсем понятно сформулировал, тут скорее вопрос не по крону, я не понимаю как выполнить delete в базе через php.

    Модератор Yuri

    (@yube)

    как выполнить delete в базе через php.

    global $wpdb;
    $wpdb->query("DELETE FROM $wpdb->postmeta WHERE .....");
    

    Создал такой файл wp-content/themes/theme/clean.php

    <?php
    global $wpdb;
     $wpdb->query(
        "DELETE FROM $wpdb->postmeta WHERE meta_key='snap_isAutoPosted' OR meta_key='snapFB' OR meta_key='snapTW' OR meta_key='snapVK'"
    );
    ?>

    Открываю https://site.ru/wp-content/themes/theme/clean.php — получаю This page isn’t working — данные из таблицы не удалились.

    Модератор Yuri

    (@yube)

    А с какой радости должны работать функции движка, если Вы делаете в обход него? Либо делайте всё на wordpress, включая запланированные задачи, либо на голой php с системным хроном. По первому варианту — с wordpress — тут подскажут.

    А еще: допустим есть по урл вхождение и скрипт вы заставили работать (wp-load.php прогрузили и т.д.) — и значит даже бот вам может дропнуть данные?

    p.s. в названии темы указано про крон — делайте кроном. Что там сложного — раз в час, два раза в день, раз в день — такие события уже присутствуют в ВП — цепляйтесь и в путь

    p.p.s — в тему такое пихать не нужно. Это территория плагинов.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Удаление записей из таблицы по заданию cron» закрыта для новых ответов.