隐藏当前正在编辑的用户名

时间:2018-01-23 作者:Simone Benedetti

我正在创建一个网站。我需要隐藏头像和当前正在编辑的用户的名称,并用角色替换名称。这可能吗?

谢谢你的帮助

enter image description here

2 个回复
SO网友:Morgan Estes

化身和文本在wp admin/includes/class wp posts列表中设置。php。它不可直接过滤,但可以使用JavaScript来针对它们并进行更改,因为它们都有自己的类名。

对于化身,目标.locked-avatar, 文本在里面.locked-text.

文本本身在PHP端是可翻译的,因此可以进行筛选gettext 在显示字符串之前调用更改字符串,但这只会得到文本,而不会得到用户名或头像,因此我建议首先使用CSS/JS。

SO网友:janh

编辑用户由wp_check_post_lock(), 从而检查_edit_lock postmeta字段:

function wp_check_post_lock( $post_id ) {
    if ( ! $post = get_post( $post_id ) ) {
        return false;
    }

    if ( ! $lock = get_post_meta( $post->ID, \'_edit_lock\', true ) ) {
        return false;
    }

    $lock = explode( \':\', $lock );
    $time = $lock[0];
    $user = isset( $lock[1] ) ? $lock[1] : get_post_meta( $post->ID, \'_edit_last\', true );

    if ( ! get_userdata( $user ) ) {
        return false;
    }

    /** This filter is documented in wp-admin/includes/ajax-actions.php */
    $time_window = apply_filters( \'wp_check_post_lock_window\', 150 );

    if ( $time && $time > time() - $time_window && $user != get_current_user_id() ) {
        return $user;
    }

    return false;
}
您可以在get_post_metadata 并返回另一个用户id(该字段包含由时间戳和由冒号分隔的用户id组成的字符串,例如。123456789:1), 例如,用户名为“Anonymous”的自定义用户的用户id。

您可能需要采取一些措施,只在概述中覆盖它,这样您的用户在进入编辑模式时不会对“其他人正在编辑此帖子”警报感到惊讶(我不确定是否会发生,但可能发生),但除此之外,我认为不应该有任何令人讨厌的副作用。在部署之前,请确保对其进行彻底测试。

结束