Wordpress: Agressively remove elements from page
class Admin {
public function remove_profile_page_options( $subject ) {
$subject = preg_replace( '#<h2>Opções pessoais</h2>.+?/table>#s', '', $subject, 1 );
$subject = preg_replace( '#<h2>Nome</h2>#s', '', $subject, 1 );
$subject = preg_replace( '#<h2>Sobre o usuário</h2>.+?/table>#s', '', $subject, 1 );
$subject = preg_replace( '#<div class="yoast yoast-settings">.+?/div>#s', '', $subject, 1 );
$subject = preg_replace( '#<tr class="user-url-wrap">.+?/tr>#s', '', $subject, 1 );
$subject = preg_replace( '#<tr class="user-googleplus-wrap">.+?/tr>#s', '', $subject, 1 );
$subject = preg_replace( '#<tr class="user-twitter-wrap">.+?/tr>#s', '', $subject, 1 );
$subject = preg_replace( '#<tr class="user-facebook-wrap">.+?/tr>#s', '', $subject, 1 );
$subject = preg_replace( '#<h2>Informações de contato</h2>#s', '', $subject, 1 );
$subject = preg_replace( '#<tr class="user-first-name-wrap">.+?/tr>#s', '', $subject, 1 );
$subject = preg_replace( '#<tr class="user-last-name-wrap">.+?/tr>#s', '', $subject, 1 );
return $subject;
}
public function profile_subject_start() {
ob_start( [ get_class( $this ), 'remove_profile_page_options' ] );
}
public function profile_subject_end() {
ob_end_flush();
}
}
$admin = new Admin;
add_action( 'admin_head-user-edit.php', $admin, 'profile_subject_start' );
add_action( 'admin_footer-user-edit.php', $admin, 'profile_subject_end' );