我有一个自定义的帖子类型IDproductpopup
- 我想为包括admin在内的所有用户隐藏管理栏。我的功能背后的理论如下:
使用以下选项选择职位类型
get_post_type( $post ) == \'productpopup\'
然后使用隐藏管理栏
add_filter( \'show_admin_bar\', \'__return_false\' );
所以在我的主题中加入以下内容
functions.php
在我看来应该行得通,但行不通
if ( get_post_type( $post ) == \'productpopup\' )
add_filter( \'show_admin_bar\', \'__return_false\' );
Wordpress 4.3.1
最合适的回答,由SO网友:Daniel Muñoz Parsapoormoghadam 整理而成
不要攻击你的Wordpress核心。它在每次升级后都会被覆盖(插件确实因为某些原因而存在)。
您可以通过以下方式解决问题:
1) 打开您的single.php
.
2)定义
<?php
function hideAdminBar ($post_id)
{
if (get_post_type ($post_id) == \'post\')
{
add_filter (\'show_admin_bar\', \'__return_false\');
/* For removing the top blank space. */
echo \'<style type="text/css" media="screen">
html { margin-top: 0px !important; }
* html body { margin-top: 0px !important; }
</style>\';
}
}
?>
3)在循环中,在
while
条件像这样:
<?php while ( have_posts() ) : the_post();?>
<?php hideAdminBar (get_the_ID ()); ?>
/* etc. */
<?php endwhile; ?>
希望这能解决你的问题。