WordPress - 每个用户的自定义分类值?

WordPress - custom taxonomy values for each user?

是否可以有一个为每个用户显示不同值的分类法? 一个简单的例子说明我的想法:
让我们调用我们的分类法:"Life"。 用户 John Doe 添加 post,创建 "Music" 和 "Movies" 到 "Life" 分类。
然后Jane Doe 添加了一个新的post,只要她添加了"Televison","Life" 分类法对她来说就是空的。如果她不加一个,她就看不到 "Music" 和 "Movies"。
当 John Doe 返回他的 post 时,他看不到添加的 "televison" Jane。

我是 WordPress 的新手,所以我不太确定是否有可能实现这样的目标。
如果不可能,你能建议一些替代方案吗?用户不能看到彼此的条款,只能看到他们自己的条款,这一点非常重要。

如果我很了解你需要什么,也许这个插件可以解决它:https://wordpress.org/plugins/user-specific-content/ 或者在 WP 存储库中寻找类似的东西。

WordPress 默认情况下不存储创建分类法的用户 ID。因此,您不能真正使用核心 Wordpress 实例执行上述操作。此外,没有插件(据我所知)可以为您做到这一点。

从好的方面来说,您可以自己添加此支持。方法如下:

  • 您修改 term_relationships table 以具有一个字段(可能称为 userid),其中包含创建分类的用户的 ID。这可以在 phpMyAdmin 中完成。
  • 然后您需要打开文件 wp-includes/taxonomy.php 并更改以下行:

    $wpdb->insert( $wpdb->term_relationships, array( 'object_id' => $object_id, 'term_taxonomy_id' => $tt_id ) );
    

    至:

    $wpdb->insert( $wpdb->term_relationships, array( 'object_id' => $object_id, 'term_taxonomy_id' => $tt_id, 'userid' =>  get_current_user_id()) );
    
  • 最后,您将需要修改名为 the_tags 函数的模板文件,其中包含一个替代函数(由您创建),该函数将考虑当前用户 ID。

(请注意,如果 get_current_user_id() 不起作用,那么您需要找到其他方法来获取用户 ID。)