Files
SIGE-WEB-snapshot/ambiente-de-test/wp-content/plugins/jetpack/modules/masterbar/profile-edit/profile-edit.php

66 lines
2.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* WP-Admin Profile edit.
*
* @package Jetpack
*/
use Automattic\Jetpack\Connection\Manager as Connection_Manager;
/**
* Hides profile fields for WordPress.com connected users.
*
* @param WP_User $user The current WP_User object.
*/
function jetpack_masterbar_hide_profile_fields( $user ) {
$connection_manager = new Connection_Manager( 'jetpack' );
if ( ! $connection_manager->is_user_connected( $user->ID ) ) {
// If this is a local user, show the default UX.
return;
}
$wp_kses_rule = array(
'a' => array(
'href' => array(),
'rel' => array(),
'target' => array(),
),
);
// Since there is no hook for altering profile fields, we will use CSS and JS.
$name_info_wpcom_link_message = sprintf(
/* translators: 1 link */
__( 'WordPress.com users can change their profiles basic details ( i.e., First Name, Last Name, Display Name, About ) in <a href="%1$s" target="_blank" rel="noopener noreferrer">WordPress.com Profile settings.</a>', 'jetpack' ),
'https://wordpress.com/me'
);
$contact_info_wpcom_link_message = sprintf(
/* translators: 1 link */
__( 'WordPress.com users can change their profiles email & website address in <a href="%1$s" target="_blank" rel="noopener noreferrer">WordPress.com Account settings.</a>', 'jetpack' ),
'https://wordpress.com/me/account'
);
?>
<script>
document.addEventListener( 'DOMContentLoaded', function() {
// Field to be hidden.
var fieldsToHide = '.user-first-name-wrap, .user-last-name-wrap, .user-nickname-wrap, .user-display-name-wrap, .user-email-wrap, .user-url-wrap, .user-description-wrap';
document.querySelectorAll( fieldsToHide ).forEach( element => element.classList.add( 'hidden' ) );
// Name Info.
var nameInfo = document.querySelector( '.user-first-name-wrap' ).closest( 'table' );
var nameInfoWpcomLink = document.createElement( 'div' );
nameInfoWpcomLink.className = 'notice inline notice-large notice-warning';
nameInfoWpcomLink.innerHTML = '<?php echo wp_kses( $name_info_wpcom_link_message, $wp_kses_rule ); ?>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
nameInfo.parentNode.insertBefore( nameInfoWpcomLink, nameInfo.nextSibling );
// Contact Info.
var contactInfo = document.querySelector( '.user-email-wrap' ).closest( 'table' );
var contactInfoWpcomLink = document.createElement( 'div' );
contactInfoWpcomLink.className = 'notice inline notice-large notice-warning';
contactInfoWpcomLink.innerHTML = '<?php echo wp_kses( $contact_info_wpcom_link_message, $wp_kses_rule ); ?>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
contactInfo.parentNode.insertBefore( contactInfoWpcomLink, contactInfo.nextSibling );
});
</script>
<?php
}
add_action( 'personal_options', 'jetpack_masterbar_hide_profile_fields' );