Поддержка Проблемы и решения Интеграция своей БД с БД WordPress

  • Подскажите, пожалуйста, при интеграции своей существующей базы данных с базой данных WordPress лучше воспользоваться функцией dbDelta() и создавать свои собственные таблицы в базе данных WordPress или же создавать новые поля в уже существующих таблицах WordPress, таких как — posts, usermeta ?

    Для понимания процесса поясню — может быть вопрос покажется непонятным (тогда поправьте меня), но это мой первый проект на WordPress и с использованием CMS в принципе и суть его такова: пользователи, зарегистрировавшись в системе, через формы вводят исходные числовые и текстовые данные (4-6 параметров) и далее система на основе заранее созданных формул вычисляет результат и сохраняет его в базу данных по каждому пользователю, необходимо также предусмотреть вывод результатов по каждому пользователю в личном кабинете.
    Так же как и для исходных данных, вопрос и по результатам вычислений — результаты лучше сохранять в новых полях существующих таблиц WordPress (posts, usermeta) или же в созданных при помощи функции dbDelta() собственных таблицах ? Наведите на мысль, пожалуйста, как правильно начать реализовывать проект.

    Буду очень благодарен за любую консультацию

Просмотр 9 ответов — с 31 по 39 (всего 39)
  • Юрий ( @yube ), по поводу:

    Почему бы не создавать таблицы при активации того, где будет размещен код создания (и, вероятно, использования) таблиц?

    вопрос: могу ли я использовать плагин WP-Recall для оформления личного кабинета в связке со своим плагином, который как раз-таки и будет создавать, формировать и обрабатывать мои таблицы ? Т.е. плагин WP-Recall берет на себя функции регистрации, авторизации пользователей, функции оформления личного кабинета, а мой собственный плагин берет на себя функции по созданию и обработке моих же таблиц ? Этот вариант имеет право на жизнь ?

    Этот вариант имеет право на жизнь ?

    Я с WP-Recall не работал, но судя по количеству разнообразных плагинов — дополнений к WP-Recall, скорее да, чем нет.

    Я вам в 1м моём сообщении в вашей теме сразу дал вариант и ссылку на доку. К чему вы задаете повторные вопросы одни и теже? мне не понятно. Вы берите и пробуйте. Выбирайте. А то получается что мы навязываем вам один плагин. Пробуйте бадипресс, ультимат мембер и иже с ними. Но в рунете по ним техподдержки нет. А по реколл есть.

    а мой собственный плагин берет на себя функции

    — ага — всё же уговорили вас не пихать всё в тему? И не слушайте тех кто говорит — в functions.php всё пихай. Это ад в поддержке и выявлению проблем в дальнейшем. В распространении, в обновлении.
    у плагинов есть хуки на включение — при котором можно проверять существование таблиц и их создавать если таковых нет.

    Вообще за 12 дней уже можно было накидать прототип и загнать данные и выводить — а не робко спрашивать и уточнять на форумах.

    @otshelnik-fm , спасибо за ответы, но видимо мне самому нужно было прийти к этому, т.к. на данном этапе я всё действительно пихал в functions.php — в том числе и создание своих таблиц (привязывал их к хуку after_switch_theme). Теперь понял, что оформлением личного кабинета должен заниматься WP-Recall (как вы писали — это экономит время, не нужно заботиться о многих вещах в ЛК, регистрации, логине, вкладках и т.д.), созданием своих таблиц и их дальнейшей обработкой должен заниматься мой плагин, а тема должна заниматься только внешним оформлением. Осталось разобраться с WP-Recall и «подружить» его с моей темой и плагином.

    Пожалуй, заключительное для этой темы.
    @wpgear ранее вы писали:

    Для Управления с распределением Прав Доступа, можно попробовать некоторые Плагины, типа Ultimate Members или WP-Recall
    Но скорее всего, учитывая ваши хотелки, проще написать свой Плагин, добавив пару собственных Таблиц.

    и:

    Если вы не предполагаете оформлять свой Проект в виде Плагина, а у меня закрались такие смутные сомнения, то вам вовсе не обязательно использовать для достижения своих Целей функцию dbDelta()

    В результате я пришел к тому, что сейчас разбираюсь с WP-Recall, чтобы использовать его для оформления личного кабинета, и связать его со своим плагином, который в свою очередь занимается созданием моих таблиц и их дальнейшей обработкой и передает таблички WP-Recall для их вывода в ЛК.
    @wpgear хочется услышать и ваше мнение о возможности такой реализации (хотя уже пробую)

    Подскажите, пожалуйста, после активации WP-Recall и дальнейшего выхода из админки появляется предупреждение: Notice: Undefined property: WP_Error::$ID in /home/user2077509/www/efp.by/wordpress/wp-content/plugins/wp-recall/functions/authorize.php on line 8
    А при попытке входа в админку появляется варнинг: Warning: filemtime(): stat failed for /home/user2077509/www/efp.by/wordpress/wordpress/wp-content/plugins/wp-recall/add-on/theme-sunshine/img/default-cover.jpg in /home/user2077509/www/efp.by/wordpress/wp-content/plugins/wp-recall/add-on/theme-sunshine/index.php on line 97
    Все другие плагины удалил, поставил ВП тему по умолчанию (Twenty Twenty) — ошибки сохранились.
    Я не правильно активировал WP-Recall ? Или что-то упустил ? подскажите, пожалуйста

    Предыдущий вопрос, связанный с установкой WP-Recall, решил на форуме поддержки плагина WP-Recall: https://codeseller.ru/forum/ustanovka-i-nastroyka/posle-ustanovki-plagina-voznikli-oshibki-wp-errorid-i-filemtime-stat-f/
    Прошу прощения, что написал вопрос выше в данной теме по интеграции БД. Но надеюсь возможно кому-то пригодится в будущем.
    В заключение перед закрытием этого топика хочу спросить у @otshelnik-fm , и заранее прошу прощения за беспокойство, вы писали:

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

    Вопрос — подскажите, для функционала по созданию, наполнению, обработке произвольных таблиц и дальнейшей передачи плагину WP-Recall ( WP-Recall позволяет получать из произвольных таблиц через класс RCL_QUERY) лучше создать свой отдельный плагин или же лучше оформить в виде дополнения к плагину WP-Recall ? Или можно оформить как в виде дополнения, так и в виде плагина ?

    Если работа этого функционала будет неразрывно связана с WP-Recall — то конечно создал бы как дополнение к нему. Тут как минимум я буду уверен что нужные мне зависимости уже будут и как минимум сэкономлю на проверках — включены они или нет.

    У плагина гораздо проще работа в момент активации дополнения — просто инклюдится файл activate.php дополнения. И так же с удалением. В вордпрес этот процесс чуть сложней. Ну совсем чуть — а уже не удобней там как мне кажется.
    У плагина удобное апи настроек — у вордпресс в разы хуже.
    У реколл есть работа с кешем (на файлах — в дополнение к объектному кешу и транзиентам вордпресс), а минимизация и объединение css и js — супер фича прям из ядра. Причем можно как в шапке критичный css подключать и минимизировать, так и в подвале.
    Работа с запросами к произвольным таблицам (в 17-й версии будет ещё круче — спойлер 🙂 ) — это длинная тема для самообразования — все ссылки есть в официальной документации.
    Апи нотисов, апи таблиц и форм, произвольных полей, js хуки и фильтры, готовится апи кнопок в 17-й версии. С этим всем разработка своих решений под плагин упрощается. А визуальная составляющая легче — т.к. не нужно городить тонну css — некоторые модули стандартизированы и протестированы в браузерах и адаптивны. Об этом можно говорить долго — в доках (единая точка входа для изучения плагина) всё это есть.

    Не думаю что в этой теме стоит продолжать флуд. Будут вопросы — задавайте их на форуме поддержки плагина. В одной теме — один вопрос.

    Ещё раз спасибо!
    Думаю вопрос данной темы решён в полной мере и даже больше. Надеюсь вся информация здесь будет также полезна начинающим вникать в WP в будущем. Тему закрываю.

Просмотр 9 ответов — с 31 по 39 (всего 39)
  • Тема «Интеграция своей БД с БД WordPress» закрыта для новых ответов.