我在我的网站上有一个特定的创作工作流。
作者发布新帖子,然后生成另一种语言的自动版本并分配给另一个用户(译者)。
我希望这个翻译人员能够看到修订,我的意思是当他请求页面/wp admin/修订时。php?revision=450他必须查看更改历史,就好像他是文件的所有者一样,但翻译人员不能编辑原始帖子(以默认语言编写)。
我在管理/修订方面有点急功近利。php文件,但我认为一定有更好的替代方案。
我在我的网站上有一个特定的创作工作流。
作者发布新帖子,然后生成另一种语言的自动版本并分配给另一个用户(译者)。
我希望这个翻译人员能够看到修订,我的意思是当他请求页面/wp admin/修订时。php?revision=450他必须查看更改历史,就好像他是文件的所有者一样,但翻译人员不能编辑原始帖子(以默认语言编写)。
我在管理/修订方面有点急功近利。php文件,但我认为一定有更好的替代方案。
functions.php
当前主题:function wpse_add_translator_role() {
if ( empty( get_role( \'translator\' ) ) ) {
$role = get_role( \'author\' );
add_role( \'translator\', \'Translator\', $role->capabilities );
}
}
add_action( \'init\', \'wpse_add_translator_role\', 10 );
创建角色转换器后,可以从函数中删除上述代码。php,或只是注释掉add_action
生产线:// add_action( \'init\', \'wpse_add_translator_role\', 10 );
模板修改查找用于显示单个帖子的模板。紧接着the_content();
标记在下面插入代码:$user = wp_get_current_user();
if( 0 != $user->ID ) {
if( in_array( \'translator\', $user->roles ) ) {
global $post;
$revisions = wp_get_post_revisions( $post->ID );
if( !empty( $revisions ) ) {
echo \'<div id="revisions" style="clear:both"><h3>Revisions</h3>\';
foreach ( $revisions as $revision ) {
echo \'ID = \'; echo $revision->ID; ?>
<textarea rows="10"><?php echo addslashes( $revision->post_content ) ?></textarea><?php
}
echo \'</div>\';
}
}
}
准备翻译人员编辑每位翻译人员用户,并将其角色更改为翻译人员。重要的是要记住,上面提到的所有更改都应该应用于子主题,而不是原始主题。
我没有设置修订数量的限制,这使得我的一些帖子有20多个修订,那么如何删除这些修订呢?顺便说一下,我正在使用WPMU,并且有很多博客,那么如何删除我所有博客的WordPress修订版呢?