根据查询字符串隐藏管理工具栏

时间:2012-06-14 作者:supertrue

据我所知,前端管理工具栏的显示和隐藏是一种全局设置,适用于任何包含wp_footer().

我想对可见性管理栏进行更具体的控制,以便能够根据URL查询字符串隐藏它,例如(例如。,?hidetoolbar 在URL的末尾)。

我知道我可以在特定的template file 将此添加到顶部:

     add_filter(\'show_admin_bar\', \'__return_false\');
我将使用哪个挂钩有条件地应用过滤器functions.php?

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

您应该能够在条件中添加筛选器:

<?php if ($_GET[\'hidetoolbar\']) 
{
    add_filter(\'show_admin_bar\', \'__return_false\');
}
?>
或者,由于有时不赞成有条件地添加操作处理程序和筛选器,您可以添加自己的函数作为筛选器,然后将条件放在其中:

<?php 
function my_manage_toolbar()
{
    if ($_GET[\'hidetoolbar\']) 
    {
        return false;
    }
    return true;
}
add_filter(\'show_admin_bar\', \'my_manage_toolbar\');
?>

SO网友:Mathias

您可以在函数中尝试这一点。php文件:

if (isset($_GET[\'hidetoolbar\'])) {
    add_filter(\'show_admin_bar\', \'__return_false\');
}

SO网友:robrecord

PHP7代码:

这将只作用于非管理页面,并将尊重管理栏在检查之前的任何状态。它也不会在日志中输出任何警告。

add_filter( \'show_admin_bar\', function( $show ) {
    if (
        ! is_admin() &&
        isset( $_GET[\'hidetoolbar\'] )
    ) {
        return false;
    }
    return $show;
});

结束