BUKIEVSKIY1
@BUKIEVSKIY1

Как сделать чтобы код плагина делал сам по себе и определенная часть отрабатывала раз в 15 мин?

<?php
/**
 * Plugin Name: Univers
 * Description: Опис вашого плагіна.
 * Version: 1.0
 * Author: Ycommerce
 */

 // Функція, яка виводить вміст сторінки адміністратора
function your_plugin_admin_page() {
    ?>
    <div class="wrap">
        <h2>Univers</h2>
        <?php

// Параметри підключення до бази даних
$host = 'localhost';
$database = 'meatcard_uniforce';
$username = 'u_gavno';
$password = '1e8Ff33lYl34';

// Підключення до бази даних
$connection = new mysqli($host, $username, $password, $database);

// Перевірка наявності помилок при підключенні
if ($connection->connect_error) {
    die("Помилка підключення до бази даних: " . $connection->connect_error);
}

// Отримання даних з таблиці "catalog"
$query = "SELECT id, id_uf, sku, units, units_flag, price, discount, status_id, update_status, update_date, update_status_uf, update_date_uf FROM catalog";

$result = $connection->query($query);

// Виведення результатів
if ($result->num_rows > 0) {
    echo '<table>';
    echo '<tr>';
    echo '<th>ID</th>';
    echo '<th>ID_UF</th>';
    echo '<th>SKU</th>';
    echo '<th>Units</th>';
    echo '<th>Units_Flag</th>';
    echo '<th>Price</th>';
    echo '<th>Discount</th>';
    echo '<th>Status_ID</th>';
    echo '<th>Update_Status</th>';
    echo '<th>Update_Date</th>';
    echo '<th>Update_Status_UF</th>';
    echo '<th>Update_Date_UF</th>';
    echo '</tr>';

    while ($row = $result->fetch_assoc()) {
        echo '<tr>';
        echo '<td>' . $row['id'] . '</td>';
        echo '<td>' . $row['id_uf'] . '</td>';
        echo '<td>' . $row['sku'] . '</td>';
        echo '<td>' . $row['units'] . '</td>';
        echo '<td>' . $row['units_flag'] . '</td>';
        echo '<td>' . $row['price'] . '</td>';
        echo '<td>' . $row['discount'] . '</td>';
        echo '<td>' . $row['status_id'] . '</td>';
        echo '<td>' . $row['update_status'] . '</td>';
        echo '<td>' . $row['update_date'] . '</td>';
        echo '<td>' . $row['update_status_uf'] . '</td>';
        echo '<td>' . $row['update_date_uf'] . '</td>';
        echo '</tr>';

        // Включити WooCommerce функціонал
        include_once('wp-load.php');

        // Задати артикул товару, який ви шукаєте
        $product_sku = $row['sku']; // Замініть це на реальний артикул

        // Отримати товар за його артикулом
        $product = wc_get_product_id_by_sku($product_sku);

        // Перевірити, чи існує товар з вказаним артикулом
        if ($product) {
            // Отримати об'єкт товару за його ID
            $product = wc_get_product($product);
            
             // Оновити дані товару
             $new_price = '111'; // Нова ціна (у рядковому форматі)
              // Новий статус
             $new_measurement = $row['units']; // Новий спосіб вимірювання
            if ($row['status_id']=='0') {
                $kol = 0;
            }
            if ($row['status_id']=='1') {
                $kol = 100;
            }
            if ($row['status_id']=='3') {
                $kol = 0;
            }
             // Встановити нову ціну
             $product->set_regular_price($new_price);
             
             $product->set_stock_quantity($kol);

             $product->set_weight($new_measurement);
         
             // Зберегти зміни
             $product->save();

    // Вивести повідомлення про оновлення
    
     
        } 
    }

    echo '</table>';
} else {
    echo 'Дані не знайдені.';
}

// Закриття з'єднання з базою даних
$connection->close();



}
// Додаємо сторінку в адмінку
function your_plugin_add_admin_page() {
    add_menu_page(
        'Univers',    // Назва сторінки
        'Univers',    // Назва в меню
        'manage_options', // Рівень доступу (можна змінити на інший за необхідності)
        'your-plugin',    // Ідентифікатор сторінки
        'your_plugin_admin_page', // Функція, яка виводить вміст сторінки
        'dashicons-admin-plugins', // Іконка (змініть за необхідності)
        99 // Порядковий номер в меню
    );
}
add_action('admin_menu', 'your_plugin_add_admin_page');<code lang="php">
</code>

Нужно, чтобы код плагина работал сам по себе без перехода на страницу плагина. И определенная часть отрабатывала раз в 15 мин.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы