Не могу найти подробнее информацию для новичков как сделать такое: зарегистрировавшийся человек должен заполнить анкету и пока он не заполнит, в сайдбаре или еще где будет торчать большая кнопка «ЗАПОЛНИ АНКЕТУ». Когда он заполняет анкету, то эта кнопка пропадает. Читал статью о перенаправлении на определенную страницу, но это немного не то, хоть и временное решение. Я так понял, что логика такая:
1. у каждого в профиле есть мета поле в котором сохраняется значение заполненности анкеты
2. кнопка «ЗАПОЛНИ АНКЕТУ» должна как-то проверять это поле на значение и если там пусто, 0 или ‘нет’ то выводиться, а если ‘да’ то прятаться
3. при сабмите формы должно что-то срабатывать и менять значение в этом поле на 1 или ‘да’
Начал делать так:
1. Создаем у всех пользователей в профиле дополнительное поле.
Я создавал так, в functions.php текущей темы добавил
// Добавить в профиль дополнительное поле add_filter('user_contactmethods', 'my_user_contactmethods'); function my_user_contactmethods($user_contactmethods){ $user_contactmethods['anketa'] = 'Анкета заполнена?'; return $user_contactmethods; }
В итоге в каждом профиле появляется пустое поле ‘Анкета заполнена?’.
2. Состряпал код, который по идее должен менять значение в нужном поле в профиле
// Записать в поле в профиле значение
Дальше дело встало.. (( Не могу сообразить куда вставить этот код (ищу в gravity forms, но там уж очень много кода).
До конструкции проверяющей значение поля и выводящую/прячущую кнопку даже не дошел.
Может есть более простое и элегантное решение подобной задачи?
Думаю, что можно подобное сделать без введения дополнительного поля. Для этого нужно определиться, какие поля в профиле нужно заполнить, чтобы профиль считался заполненным полностью.
Предположим, что профиль будет заполненным полностью, если пользователь заполнит Био и Сайт. Нужно вставить условие: ЕСЛИ био ИЛИ сайт отсутствуют, то выводим надпись.
Получить и вывести БИО текущего пользователя можно так:
Получить и вывести САЙТ текущего пользователя можно так:
Подробнее о том, как можно получить данные текущего пользователя: http://codex.wordpress.org/Function_Reference/get_userdata
Проверить, заполнено ли поле БИО в профиле текущего пользователя, и вывести его, значение, если оно есть, можно так:
Выведем надпись, показывающую пользователю, что нужно заполнить поле БИО в профиле:
Выведем надпись, показывающую пользователю, что нужно заполнить поле САЙТ в профиле:
Объединим два условия:
Я мог ошибиться в деталях кода, так как не программист, но логика примерно такая.
О ужас.. Жаль в посте поправить ничего не могу, но АНКЕТА и ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ в данном вопросе – это разные вещи… На самом деле вопрос был совсем не про заполненность профиля пользователя, а про заполненность любой формы на сайте т.е. если я вдруг решил провести среди пользователей анкетирование по какому-то вопросу и предлагаю им заполнить трехэтажную форму, по-этому и про большую кнопку говорю и вопрос называется “показ чего-либо в зависимости от состояния поля в профиле”.. Такой хороший ответ, но не мой вопрос.. (
И проблема у такого как я часто бывает даже не с тем чтобы написать кусок кода (есть в интернет примеры, (в том же кодексе) в которые можно по аналогии вписать свои значения), а в том КУДА этот кусок кода пихать… (
Задал подобный вопрос в посте про редирект может это решит мой вопрос лучше чем кнопка..