Skip to:
Content
Pages
Categories
Search
Top
Bottom

Closed Topic

  • @dimitri333

    Participant

    I wrote this code to close the topics (specific forum) after 24h. It’s right?

    // Funzione per chiudere automaticamente i topic dopo 24 ore
    function chiudi_topic_dopo_24_ore($topic_id) {
    // Ottenere la data di creazione del topic
    $topic_date = get_post_field(‘post_date’, $topic_id);

    // Calcolare la data e l’ora attuali
    $current_date = current_time(‘mysql’);

    // Calcolare la differenza in ore tra la data di creazione del topic e l’ora attuale
    $hours_diff = round((strtotime($current_date) – strtotime($topic_date)) / (60 * 60));

    // Se sono passate 24 ore, chiudere il topic
    if ($hours_diff >= 24) {
    bbp_close_topic($topic_id);
    }
    }
    add_action(‘bbp_new_topic’, ‘chiudi_topic_dopo_24_ore’);

    // Funzione per chiudere automaticamente i topic esistenti dopo 24 ore
    function chiudi_topic_esistenti_dopo_24_ore() {
    // Ottenere tutti i topic del forum specifico
    $args = array(
    ‘post_type’ => bbp_get_topic_post_type(),
    ‘post_parent’ => ‘YOUR_FORUM_ID’, // l’ID del forum
    ‘posts_per_page’ => -1,
    );
    $topics = get_posts($args);

    // Chiudere i topic che hanno superato le 24 ore
    foreach ($topics as $topic) {
    $topic_id = $topic->ID;
    chiudi_topic_dopo_24_ore($topic_id);
    }
    }
    add_action(‘init’, ‘chiudi_topic_esistenti_dopo_24_ore’);

Viewing 1 replies (of 1 total)
  • @sarenetri

    Participant

    No need to assign $topic->ID to $topic_id
    You can do just simple:

    foreach ($topics as $topic)
      chiudi_topic_dopo_24_ore($topic->ID);
Viewing 1 replies (of 1 total)
  • You must be logged in to reply to this topic.
Skip to toolbar