WordPress-为每个用户自定义分类法值


WordPress - custom taxonomy values for each user?

是否可以有一个为每个用户显示不同值的分类法?关于我的想法的一个快速示例:
让我们把我们的分类法称为"生命"。用户John Doe添加了一个帖子,在"生活"分类中创建了"音乐"answers"电影"
然后Jane Doe添加了一个新的帖子,只要她添加了"Televison","生活"分类法对她来说就是空的。她看不到"音乐"answers"电影",如果她不加的话
当John Doe回到岗位时,他看不到Jane补充道的"电视节目"

我是WordPress的新手,所以我真的不确定是否有可能实现这样的目标
如果不可能,你能提出一些替代方案吗?极其重要的是,用户不能看到对方的条款,只能看到自己的条款。

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

好的一面是,你可以自己添加这种支持。方法如下:

  • 您可以修改term_relationships表,使其具有一个字段(可能称为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。)

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