Пользовательское поле WordPress (флажки) извлекается и обновляется из любого места

Я создал настраиваемое поле (флажки) в WordPress> Пользователи> Поля профиля. Мой сайт является омни-сайтом для новостей, поэтому он собирает новости из 20 различных источников через RSS и добавляет их посты в мой WordPress-сайт. Вот как выглядит мое настраиваемое поле:

введите описание изображения здесь

Если вы только посетитель на моей главной странице, я покажу все сообщения на стартовой странице.

Если вы вошли в систему пользователя; тогда вы сможете выбрать и сохранить один из 20 источников, которые вы хотите прочитать на своей стартовой странице на моем сайте. Это можно выбрать и сохранить сегодня, но только на странице настроек пользователя BP:

Выберите и сохраните источники из пользовательских настроек BP

Теперь проблема со страницей настроек профиля пользователя:

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

б) Форма включает в себя поля, которые я хочу удалить (имя и описание, т.е. «источники» = имя поля) и т. д.

Пользователь на изображении выше выбрал и сохранил для чтения новостей из 2 разных источников на моем сайте. Код, который обрабатывает это, находится на стартовой странице в моем index.php:

$sources = xprofile_get_field_data( 'sources', $current_user_id, $multi_format = 'array' );
query_posts(array('category__and'=>array($sources)));

Вопрос
Есть ли способ получить эту форму и обновить ее из любого места для зарегистрированных пользователей?
Я не хочу связывать себя с идеей иметь только форму на странице настроек профиля. Я хочу, чтобы пользователь отправлялся над моим новостным потоком на стартовой странице моего сайта, чтобы у пользователей возникало ощущение «О, я могу настроить свой новостной поток, если я создаю учетную запись!» — и это должно быть сделано из любого места для зарегистрированных пользователей.

7

Решение

Если я правильно понял, вы хотите отобразить форму для зарегистрированных пользователей. Ты пытался

<?php if ( is_user_logged_in() ) { ... } ?>  function?

Вы также можете обновить пользовательские поля с

update_user_meta()

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector