✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Тимчасові параметри в WordPress: наш найкращий варіант?

9

Коли справа доходить до програмування, ідея тимчасових значень або тимчасових змінних або будь-який спосіб тимчасового зберігання даних у пам’яті не є чимось новим.

Але під час роботи з WordPress, який не має статусу, ми не завжди маємо таку розкіш. Тобто це не просто питання, скажімо, додати щось до поточного сеансу, прочитати це, а потім видалити це, коли ми закінчимо з цим.

І саме тоді я все більше й більше думав про тимчасові варіанти, звичайно, через відсутність кращого терміну. Тобто, щоразу, коли мені потрібно зберегти значення з одного завантаження сторінки або запиту, щоб прочитати його під час завантаження іншої сторінки чи іншого запиту, я тимчасово перекидаю це значення в таблицю параметрів.

Тимчасові варіанти: вправа та представлення за допомогою елементарного ескізу

Це неохайно? Може бути. Чи є у нас багато інших варіантів? Це залежить від того, скільки сучасних технологій браузера ми хочемо використовувати. Але це не суть цієї публікації.

Справа в тому, що через те, як працює WordPress, мені цікаво, чи наша поточна, найкраща стратегія для підтримки тимчасових значень, яка найбільш широко підтримується в інсталяціях, полягає в тому, щоб тимчасово додати значення в таблицю параметрів, прочитати його, а потім видалити його, коли воно буде було відновлено?

Наші варіанти для тимчасових опцій

Особисто я не маю твердої думки щодо того, погано це чи ні. Якщо це залежить від того, як працює основа, на якій я працюю над рішенням, я піду на це.

Отже, по-перше, ось як я зазвичай це роблю в WordPress:

1 Створення тимчасового варіанту

Спочатку я налаштував функцію, підключену до update_option. Це дозволяє переглянути параметр , який оновлюється, його старе та нове значення.

<?php

public function init() {

    add_action(
        'update_option',
        array( $this, 'manage_temporary_option' ),
        10, 3
    );
}

У функції я можу подивитися, чи зберігається певний параметр. Якщо ні, то я можу просто проігнорувати це; інакше я можу поглянути на це та почати працювати з тимчасовим варіантом.

<?php

public function manage_temporary_option( $option_name, $old_value, $new_value) {

    if ('an_irrelevant_option' !== $option_name) {
        return;
    }

    $url = 'page-from-which-we-expect-to-come.php';
    if ($url === $_SERVER['REQUEST_URI']) {

        update_option(
            'our_temporary_option',
            $new_value
        );
    }
}

Але що може мати тимчасовий варіант?

2 Варіант для тимчасових опцій

Скажімо, у вас є параметр у плагіні, який перемикається. Можливо, це вимагає від користувача ввести деяку інформацію перед тим, як переходити до решти процесу.

Приклад: скажімо, ви працюєте над оформленням замовлення й хочете змусити користувачів створити обліковий запис, але є опція, яка дозволяє клієнтам розраховуватися без створення облікового запису.

Одна реалізація, яку ми можемо використати:

  1. Перед завантаженням сторінки перевірте, чи може користувач перевірити як гість.
  2. Якщо так, збережіть початкове значення опції в тимчасовій опції.
  3. Змініть вихідне значення так, щоб вони вимагали створення облікового запису.
  4. Після завершення процесу перевірки скопіюйте значення з тимчасової опції в оригінальну опцію.
  5. Видалити тимчасовий варіант.

Це схоже на всю вправу на С, коли вам потрібен вказівник, щоб поміняти два числа (для тих, хто пам’ятає або хто це робив).

Наш найкращий варіант?

Процес, описаний вище, є лише прикладом і не призначений як остаточний спосіб підтримки тимчасових значень. По-друге, приклад оформлення замовлення не призначений для пов’язування цієї публікації з електронною комерцією.

Натомість він призначений для того, щоб надати конкретний варіант використання того, коли зберігання тимчасових параметрів є корисним і як ми можемо це зробити.

Тож оригінальне запитання залишається: враховуючи те, як працює WordPress, відсутність сеансів і відсутність гарантії певних функцій браузера, як-от localStorage, чи тимчасові параметри в таблиці параметрів є нашим найкращим виходом?

Джерело запису: tommcfarlin.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі