【问题标题】:WordPress - custom taxonomy values for each user?WordPress - 每个用户的自定义分类值?
【发布时间】:2015-11-08 13:29:14
【问题描述】:

是否可以有一个分类法为每个用户显示不同的值? 关于我的想法的一个简单示例:
让我们称我们的分类:“生命”。 用户 John Doe 添加了一个帖子,为“生活”分类创建了“音乐”和“电影”。
然后 Jane Doe 添加了一个新帖子,只要添加“电视”,“生活”分类对她来说是空的。如果她不添加“音乐”和“电影”,她就不会看到。
当 John Doe 回到他的帖子时,他看不到简添加的“电视”。

我对 WordPress 很陌生,所以我不确定是否有可能实现这样的目标。
如果不可能,您能否提出一些替代方案?用户不得看到彼此的条款,而只能看到他们自己的条款,这一点非常重要。

【问题讨论】:

    标签: php wordpress taxonomy


    【解决方案1】:

    默认情况下,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()) );
      
    • 最后,您需要使用考虑当前用户 ID 的替代函数(由您创建)修改名为 the_tags 函数的模板文件。

    (请注意,如果get_current_user_id()不起作用,那么您需要找到另一种方法来获取用户id。)

    【讨论】:

    • 谢谢 - 刚刚对帖子进行了一些格式编辑以使其更清晰。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 2013-06-21
      • 2012-06-21
      • 2013-08-03
      • 2014-07-20
      相关资源
      最近更新 更多