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

时间:2015-11-08 13:29:14

标签: php wordpress taxonomy

是否可以为每个用户设置一个显示不同值的分类? 关于我的想法的一个简单例子:
让我们称之为分类:" Life"。 用户John Doe添加了一个帖子,创建了" Music"和"电影"生活"生活"分类。
然后Jane Doe添加了一个新帖子,以及" Life"只要她添加了#14; Televison",分类学对她来说是空的。她没有看到" Music"和#34;电影",如果她不添加一个。
当John Doe回到他的岗位时,他无法看到"电视"简补充说。

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

2 个答案:

答案 0 :(得分:2)

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

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

  • 您可以修改 use strict; use warnings; use XML::LibXML::Reader; use XML::LibXML; my $reader = XML::LibXML::Reader->new(location => "input.xml") or die "cannot read file.xml\n"; while ($reader->read) { processNode($reader); } sub processNode { my $reader = shift; if ($reader->nodeType == XML_READER_TYPE_ELEMENT && $reader->name eq "parent") { my $clone = $reader->copyCurrentNode(0); $clone->setName('newparent'); my $doc = XML::LibXML::Document->new( ); $doc->setDocumentElement($doc->createElement('newroot')); $doc->documentElement()->appendChild($clone); my $filePrefix = $clone->getAttribute('attr1'); my $fileName = "$filePrefix-result.xml"; print "Writing file $fileName.\n"; $doc->toFile($fileName, 1); } } 表以包含一个字段(可能称为userid),该字段包含创建分类的用户的ID。这可以在phpMyAdmin中完成。
  • 然后,您需要打开文件term_relationships并更改以下行:

    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。

    < / LI>

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

答案 1 :(得分:1)

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

相关问题