SO网友:Frank P. Walentynowicz
基本解决方案
让我们创建新角色翻译人员,其功能与作者角色的功能相匹配。将下面的代码插入到
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>\';
}
}
}
准备翻译人员编辑每位翻译人员用户,并将其角色更改为翻译人员。
测试以翻译身份登录并选择一篇文章。您应该看到它的内容和所有可用的修订。
最后的注释
插入模板的代码可以进一步修改,以便仅为其他作者的帖子显示修订。这部分很简单,因此,我将由您决定。
重要的是要记住,上面提到的所有更改都应该应用于子主题,而不是原始主题。