问题描述
我想从个人资料页面中删除或隐藏 「传记」 输入字段。你怎么做到这一点?我已经从此页面中删除了一些联系方式,但我不知道如何摆脱传记。
最佳解决方案
没有专用的钩子 – 用户管理在 WordPress 中是一个低优先级。你必须使用输出缓冲 (是的,不太好) 。
这是一个简单的演示如何做到这一点:
add_action( 'personal_options', array ( 'T5_Hide_Profile_Bio_Box', 'start' ) );
/**
* Captures the part with the biobox in an output buffer and removes it.
*
* @author Thomas Scholz, <info@toscho.de>
*
*/
class T5_Hide_Profile_Bio_Box
{
/**
* Called on 'personal_options'.
*
* @return void
*/
public static function start()
{
$action = ( IS_PROFILE_PAGE ? 'show' : 'edit' ) . '_user_profile';
add_action( $action, array ( __CLASS__, 'stop' ) );
ob_start();
}
/**
* Strips the bio box from the buffered content.
*
* @return void
*/
public static function stop()
{
$html = ob_get_contents();
ob_end_clean();
// remove the headline
$headline = __( IS_PROFILE_PAGE ? 'About Yourself' : 'About the user' );
$html = str_replace( '<h2>' . $headline . '</h2>', '', $html );
// remove the table row
$html = preg_replace( '~<tr>s*<th><label for="description".*</tr>~imsUu', '', $html );
print $html;
}
}
您可以将代码作为独立插件下载:Plugin Remove Bio Box 。
Before
After
密码字段现在位于联系信息… 下,如果您不喜欢,请在 stop()
中添加标题,并关注 I18n 。 😉
次佳解决方案
由于最近的班级改变这个工作:
add_action( 'personal_options', array ( 'T5_Hide_Profile_Bio_Box', 'start' ) );
/**
* Captures the part with the biobox in an output buffer and removes it.
*
* @author Thomas Scholz, <info@toscho.de>
*
*/
class T5_Hide_Profile_Bio_Box
{
/**
* Called on 'personal_options'.
*
* @return void
*/
public static function start()
{
$action = ( IS_PROFILE_PAGE ? 'show' : 'edit' ) . '_user_profile';
add_action( $action, array ( __CLASS__, 'stop' ) );
ob_start();
}
/**
* Strips the bio box from the buffered content.
*
* @return void
*/
public static function stop()
{
$html = ob_get_contents();
ob_end_clean();
// remove the headline
$headline = __( IS_PROFILE_PAGE ? 'About Yourself' : 'About the user' );
$html = str_replace( '<h3>' . $headline . '</h3>', '', $html );
// remove the table row
$html = preg_replace( '~<tr class="user-description-wrap">s*<th><label for="description".*</tr>~imsUu', '', $html );
print $html;
}
}
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。