Всякий раз, когда вы работаете над плагином, который предлагает страницу для своих настроек, существует несколько способов сохранения и извлечения информации.
Вы можете:
- использовать API настроек ,
- использовать пользовательскую страницу и вызовы, которые представляют собой гибрид двух,
- используйте некий гибрид между страницей подменю (или страницей меню) и другими функциями.
Чем больше я работал с WordPress, тем меньше и меньше мне хотелось бы использовать API настроек и предпочитать гибридный подход.
В зависимости от требований проекта реализация будет варьироваться; тем не менее, я стараюсь использовать относительно последовательный способ создания функциональности.
И хотя этот пост не будет рассказывать о различных способах создания моих страниц, связанных классов и т. д., он предложит один из способов, которым вы можете инициализировать настройки плагина при работе над своим проектом или над проектом для кого-то еще.
Инициализация настроек плагина
Для этого поста предположим, что требования требуют хранения значений страницы в виде ассоциативного массива, который очищается и сериализуется изнутри плагина.
Помимо функций очистки, которые вам понадобятся, вы также знаете, что будете работать с:
- таблица опций,
- и, как таковой, уникальный ключ для опций, хранящихся в таблице опций
Теперь, в контексте объектно-ориентированного программирования, у меня обычно есть несколько классов, настроенных для обработки всей этой функциональности, но я в первую очередь заинтересован в том, чтобы показать способ инициализации настроек плагина.
Но почему?
Если вы загрузите страницу, предназначенную для извлечения параметров из базы данных, а значения не были инициализированы, вы увидите предупреждения на экране или что-то появится в файле журнала отладки.
Все это зависит от того, как настроена ваша локальная установка, а также от того, как определена конфигурация вашего хоста.
Несмотря на это, вы хотите убедиться, что вы инициализировали настройки плагина, чтобы у вас по крайней мере был набор строк в базе данных и начальные значения или пустые значения, установленные для плагина.
Как это сделать
Как упоминалось ранее, поскольку я люблю использовать классы в своей работе, я обычно устанавливаю класс, отвечающий за чтение и запись значений в базу данных. И это включает в себя инициализацию настроек плагина.
Для этого я обычно работаю, используя следующий процесс:
- инициализировать класс,
- проверить, существует ли вариант в базе данных,
- если это не так, то инициализируйте его,
- если да, то ничего не делай.
Исходный код для этого может выглядеть примерно так :
Но поскольку это находится в своей собственной функции, его можно вызвать в конструкторе вашего класса, или вы можете пометить его как общедоступный и вызвать вне класса. Однако для этого поста я вызываю его в конструкторе :
И как только значения были инициализированы, можно установить атрибут класса :
Хотя есть основания полагать, что это не следует делать в конструкторе, мне нравится, когда свойства класса инициализируются в конструкторе указанного класса.
А так как класс отвечает за ведение ссылки на настройки, то имеет смысл инициализировать настройки именно здесь.