Wordpress用户自定义字段(复选框)从任何地方检索和更新

Fer*_*ndo 7 php wordpress buddypress wordpress-plugin

我在Wordpress>用户>配置文件字段中创建了一个自定义字段(复选框).我的网站是新闻的全方位网站,因此它通过RSS收集来自20个不同来源的新闻,并在我的Wordpress网站中添加它们的帖子.这是我的自定义字段的样子:

在此输入图像描述

如果您只是我首页上的访问者,我会在首页上显示所有帖子.

如果您是登录用户; 那么你应该能够在我的网站的起始页面上选择和保存你想要阅读的20个来源.这可以在今天选择和保存,但仅限于BP用户设置页面:

从BP用户设置中选择并保存源

现在,"用户配置文件设置"页面的问题是:

a)我不希望在"配置文件>编辑"选项卡中显示该表单.我希望我的表单在我的起始页上(在新闻流程之上,当然是登录用户),也许在某个时间点在一个小部件中 - 无论如何 - 最重要的是,可以自由地在任何地方放置(和样式)表单.

b)表单包括我要删除的字段(名称和描述,即"来源"=字段名称)等.

上图中的用户已选择并保存,以便从我网站上的两个不同来源读取新闻.处理此问题的代码位于index.php的起始页上:

$sources = xprofile_get_field_data( 'sources', $current_user_id, $multi_format = 'array' );
query_posts(array('category__and'=>array($sources)));
Run Code Online (Sandbox Code Playgroud)

问题 有没有办法检索此表单并从登录用户的任何地方更新?我不想受限于仅在"配置文件设置"页面中具有该表单的想法.我希望用户必须在我网站的首页上方形成我的新闻流,因此用户会感觉"哦,如果我创建一个帐户,我可以自定义我的新闻流!" - 这应该从登录用户的任何地方完成.

小智 1

如果我理解正确,您希望向登录用户显示表单。你有没有尝试过

<?php if ( is_user_logged_in() ) { ... } ?>  function?
Run Code Online (Sandbox Code Playgroud)

您可能还希望更新用户字段

update_user_meta()