从配置文件设置中删除管理栏显示隐藏选项

时间:2012-06-05 作者:pixelngrain

不要误解。

我正在尝试删除/禁用显示工具栏选项(不是说隐藏/禁用管理栏),而是在配置文件设置中讨论该选项。

我试图搜索,但在所有我只找到了如何从前面和后面禁用管理栏,但没有找到如何从配置文件设置中删除复选框。

5 个回复
最合适的回答,由SO网友:janw 整理而成

字段是硬编码的,没有过滤器或操作来禁用它
您可以使用CSS隐藏它。。。。

如果需要,可以将整个页面替换为自定义创建的其他页面。

SO网友:Charles

@pixelngrain,也许这就是你要寻找的,这部分代码至少会隐藏个人选项。

function hide_personal_options(){
echo "\\n" . 
\'<script type="text/javascript">
jQuery(document).ready(function($) { 
$(\\\'form#your-profile > h3:first\\\').hide(); 
$(\\\'form#your-profile > table:first\\\').hide(); 
$(\\\'form#your-profile\\\').show(); });
</script>\' . 
"\\n"; 
}
add_action(\'admin_head\',\'hide_personal_options\');
这在功能中。php对我来说很有魅力。此处找到的代码:Remove personal options

SO网友:Andrew Cafourek

使用问题的答案Remove Personal Options section from Profile, 您可以从配置文件/用户编辑屏幕中删除整个“个人选项”块。通过调整顶部答案中的方法,您可以使用以下方法专门针对工具栏选项:

 //Removes the \'Show Toolbar\' option.
  function as_remove_personal_options( $subject ) {
    $subject = preg_replace( \'#<tr class="show-admin-bar">.+?/tr>#s\', \'\', $subject, 1 );
    return $subject;
  }

  function as_profile_subject_start() {
    ob_start( \'as_remove_personal_options\' );
  }

  function as_profile_subject_end() {
    ob_end_flush();
  }
add_action( \'admin_head-profile.php\', \'as_profile_subject_start\' );
add_action( \'admin_footer-profile.php\', \'as_profile_subject_end\' );

add_action( \'admin_head-user-edit.php\', \'as_profile_subject_start\' );
add_action( \'admin_footer-user-edit.php\', \'as_profile_subject_end\' );

SO网友:Christina

如果要根据当前的\\u user\\u can隐藏配置文件页面上的复选框,则此操作似乎有效:

function yourprefix_hide_option_show_admin_bar_user_profile_page() { 

    if ( current_user_can( \'manage_product\' ) ) {
    ?>
    <style type="text/css">.show-admin-bar { display: none; }</style>
    <?php 
    }

}
add_action( \'admin_print_scripts-profile.php\', \'yourprefix_hide_option_show_admin_bar_user_profile_page\' );

SO网友:Bob Allen

我已经安装了插件主题“我的登录”,并且可以通过打开wp content\\plugins\\Theme My Login\\templates\\profile表单来实现这一点。php并删除第18或19行顶部附近的这些行:

<table class="tml-form-table">
            <?php if ( apply_filters( \'show_admin_bar\', true ) ) : ?>
                <tr class="tml-user-admin-bar-front-wrap">
                    <th><label for="admin_bar_front"><?php _e( \'Toolbar\', \'theme-my-login\' )?></label></th>
                    <td>
                        <label for="admin_bar_front"><input type="checkbox" name="admin_bar_front" id="admin_bar_front" value="1"<?php checked( _get_admin_bar_pref( \'front\', $profileuser->ID ) ); ?> />
                        <?php _e( \'Show Toolbar when viewing site\', \'theme-my-login\' ); ?></label>
                    </td>
                </tr>
            <?php endif; ?>
            <?php do_action( \'personal_options\', $profileuser ); ?>
            </table> 
这很可能需要在插件每次更新时重新进行。

结束

相关推荐

ADD_TIME_SUPPORT(‘admin-bar’)导致致命错误

我正在努力学习更多关于主题开发的知识,所以我创建了自己的主题,除了添加functions.php 并尝试用一些简单的方法进行更新,如:<?php add_theme_support(\'admin-bar\', array(\'menus\')); ?> 我明白了Server 500 ERROR 我无法访问Wordpress的任何部分,甚至连仪表板都无法访问。但一旦我删除functions.php 和刷新页面我的Wordpress又回来了,工作顺利。有什么神秘的fu