是否可以为每个用户设置一个显示不同值的分类?
关于我的想法的一个简单例子:
让我们称之为分类:" Life"。
用户John Doe添加了一个帖子,创建了" Music"和"电影"生活"生活"分类。
然后Jane Doe添加了一个新帖子,以及" Life"只要她添加了#14; Televison",分类学对她来说是空的。她没有看到" Music"和#34;电影",如果她不添加一个。
当John Doe回到他的岗位时,他无法看到"电视"简补充说。
我对WordPress很新,所以我不确定是否有可能实现这样的目标。
如果它不可能,你能提出一些替代方案吗?用户不能看到彼此的条款,只是他们自己的条款,这一点非常重要。
答案 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。
(请注意,如果the_tags
不起作用,那么您需要找到另一种方法来获取用户ID。)
答案 1 :(得分:1)
如果我很清楚你需要什么,也许这个插件可以解决它:https://wordpress.org/plugins/user-specific-content/或在WP存储库中寻找类似的东西。