如何实现自定义帖子类型的用户

时间:2016-11-15 作者:zoltalar

我仍然是WordPress的菜鸟,我正在努力寻找处理这个问题的最佳方法。我有一个拥有大约10000名用户的网站。我还有一个事件帖子类型,在每个事件详细信息页面上,用户可以单击“我对该事件感兴趣”将该用户分配给一个事件。我该如何处理?我应该如何实现将多个用户分配给自定义帖子类型(将有一个管理部分来查看事件的用户)。

谢谢

1 个回复
SO网友:Ovi

您可以为每个Event 自定义post meta(示例event_users) 您将在其中保存单击“我对此活动感兴趣”的用户ID

类似于:

$event_users = get_post_meta($event_id, \'event_users\', true); // Get exisitig event users $event_users[$user_id] = 1; // Add user ID as a KEY, a simple way to make sure you only add it once add_post_meta($event_id, \'event_users\', $event_users, true) or update_post_meta($event_id, \'event_users\', $event_users); // Add/update event users

然后,当您想使用此数据获取一个事件的所有用户时,只需使用$event_users = get_post_meta($event_id, \'event_users\', true);为用户获取所有事件有点棘手。您可以将WP\\u查询与meta\\u查询一起使用,如:

[ `key` => \'event_users\', `value` => \'%:\'. $user_id .\';%\', \'compare\': \'LIKE\' ]

PS:数组值在保存时序列化,但老实说,我不喜欢太多的序列化值(只是个人的事情),我更喜欢将值转换为JSON(JSON\\u在保存时编码,从DB提取数据时JSON\\u解码)

如果您将使用json数据格式,元查询将如下所示:

[ `key` => \'event_users\', `value` => \'%"\'. $user_id .\'"%\', \'compare\': \'LIKE\' ]

查看此链接了解更多信息:-https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters- https://codex.wordpress.org/Function_Reference/add_post_meta

事件专用插件:https://wordpress.org/plugins/the-events-calendar/

相关推荐