在WordPress管理中显示当前页面ID时出错

时间:2014-09-01 作者:amitabhaghosh197

我正在尝试从管理屏幕中的页面ID中删除元盒ID。因此,我编写了以下代码:

function ag_remove_cmb_metaboxes() {
    global $post;
    $id = $post->ID;
    if ($id == 21) { ?>
        <script type="text/javascript">
        jQuery(document).ready(function($){
                jQuery(\'#test_metabox_img\') .hide();
        });
        </script>
    <?php }
}
add_action( \'admin_head\', \'ag_remove_cmb_metaboxes\' );
它工作正常,但小部件中显示错误。php页面。错误代码为:

注意:正在尝试获取E:\\xampp\\htdocs\\speechcare\\wp content\\themes\\cutedoptor\\core\\helpers中非对象的属性。php在线56

谁能解释一下为什么会出现这个错误,我做错了什么?提前谢谢。

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

虽然站点的前端总是有一个帖子上下文(您可以查看一篇帖子,也可以查看帖子的存档),但管理端却没有。

所以很多管理屏幕都没有$post 全局设置为任意值。你应该检查它是否有意义(例如if ( ! empty( $post ) )) 在尝试访问之前。

结束