2015-07-20 2 views
1

В настоящее время у меня есть база данных MySQL с моего старого сайта, на которой была базовая форма входа в PHP, и она запрашивала бы таблицу, содержащую пользовательскую информацию, для входа в систему. , Однако недавно я перешел в WordPress, и, похоже, он был довольно подавляющим, поэтому я изо всех сил пытаюсь понять, как интегрировать мою старую форму входа в систему с сайтом WordPress.Система входа в WordPress (с циклом?)

Я пробовал посмотреть на это сообщение: Wordpress login system и я все еще смущен. Я понимаю, что «цикл» отвечает за отображение нескольких «сообщений» на одной странице. Но для интеграции моего собственного PHP-кода или более конкретно; страницу входа в систему, я бы сделал зарегистрированный «пост» и не зарегистрированный «пост» и, возможно, использовал шаблон для отображения одного или другого для одной страницы с помощью «Loop», который использует if, чтобы проверить, вошел ли пользователь в систему?

Или есть какой-то более простой метод, который я полностью отсутствует?

Спасибо!

EDIT: Я думал о создании двух страниц, используя шаблон, чтобы проверить, находится ли пользователь в верхней части страницы, и отображать соответствующий контент, если они есть, или перенаправить на страницу входа, если они не являются «т. Будет ли это работать?

Другой возможный метод, о котором я мог думать, это создание двух сообщений и отображение соответствующего на одной странице через The Loop. Возможно ли это? Есть ли проблемы безопасности?

EDIT2: Я собираюсь попробовать плагин Members и посмотреть, могу ли я изменить таблицы WordPress MySQL, чтобы предоставить возможность для моих предыдущих данных.

EDIT3: Мне нужно синхронизировать мои пользовательские логины с нашей внешней базой данных, поскольку она содержит флажки, чтобы проверить, смогут ли мои члены получить доступ к нашим страницам поддержки. Я не уверен, как это было бы жизнеспособно, полагаясь на обычную систему входа в систему WordPress и таблицы.

ответ

1

Keep it simple stupid.

Точка WordPress, чтобы сделать вещи проще. Поэтому, если вы хотите пойти с WP, вы должны принять WP способ делать что-то.

Как было предложено, импортируйте свою текущую пользовательскую таблицу в WP. Должно быть достаточно простым, чтобы изменить столбцы вокруг, чтобы получить рабочий импорт непосредственно в таблицу WP users.

Если в вашей текущей пользовательской таблице есть дополнительная информация, просто создайте новые поля в разделе «Профиль пользователя» WP. Там должны быть плагины для этого (хотя я еще не пробовал), но это очень просто добавить эти поля самостоятельно, просто Google для него, есть много учебников.

Для доступа к интерфейсной странице только для входа в систему, просто создайте page template и проверьте, зарегистрирован ли пользователь с is_user_logged_in().

Для части доступа (страницы поддержки) либо создайте разные user roles и убедитесь, что текущий пользователь в настоящий момент имеет правильную роль. Или вы также можете добавить пользователя capability и проверить его на своих страницах поддержки.

+0

Честно говоря, я думаю, что я больше усложняю больше, чем нужно, как вы говорите. Я использовал и теперь понял основы системы входа в систему WP и хочу принять ее. Единственная проблема заключается в том, что когда пользователь регистрируется с WP, дополнительные поля регистрации (добавленные через плагин Ultimate Member), они отправляются в таблицу wp_usermeta, а не в таблицу wp_users. Это тоже усложняет ситуацию. – Ridai

+0

Теперь я создаю свой собственный плагин, который перехватывает действия, которые предоставляет плагин Ultimate Member, тем самым добавляя мои собственные функции, которые будут выполняться в одно и то же время. Это самый близкий ответ на мой вопрос, поэтому я буду отмечать его как правильно! – Ridai

0

Основываясь на общих подробностях, которые вы указали, нет «более простого метода», который вам не хватает. Мы не можем помочь вам сформировать требования вашего приложения, но мы можем помочь с кодом, если вы вставляете примеры кода, который используете, чего пытаетесь достичь, и что с ним происходит. Выберите одно, попробуйте, и если это не сработает, и вы застряли, тогда разместите его здесь.

+0

Можно ли создать две страницы «Почта» и просто использовать файл шаблона, чтобы сказать «если SESSION ['isloggedin'] {отобразить вход в систему} else {display not-logged in Post} на одной странице? EDIT: я попробую попробовать. EDIT2: Были ли какие-либо проблемы с безопасностью здесь? То есть кто-то мог войти в зарегистрированный пост без входа? – Ridai

+0

@Ridai См. Https://codex.wordpress.org/Function_Reference/ is_user_logged_in – vard

+0

@vard Я подумал об этом, но подумал: сможет ли он интегрироваться с моей существующей базой MySQL с пользовательскими входами? И позволяет ли это основным пользователям (без администрирования/модификации моего сайта, просто просмотра страниц, на которые им разрешен доступ) ? – Ridai

Смежные вопросы