由于Body_Class()函数,类别页面上出现死亡白屏

时间:2022-03-03 作者:StevieD

“分类页”;实例com/categories/blah“;工作正常,然后突然开始显示白色屏幕。

调试未显示任何输出。apache日志中也没有错误。所以我开始调试print语句,并在header.php 文件:注释输出body_class 修复了问题和类别页面加载:

<body <?php //body_class(); ?>>

如何找到此问题的根本原因?

UPDATE: 在get\\u body\\u class()函数中注释掉这段代码也解决了这个问题:

            } elseif ( is_category() ) {
                        /*
                        $cat       = $wp_query->get_queried_object();
                        $classes[] = \'category\';
                        if ( isset( $cat->term_id ) ) {
                                $cat_class = sanitize_html_class( $cat->slug, $cat->term_id );
                                if ( is_numeric( $cat_class ) || ! trim( $cat_class, \'-\' ) ) {
                                        $cat_class = $cat->term_id;
                                }

                                $classes[] = \'category-\' . $cat_class;
                                $classes[] = \'category-\' . $cat->term_id;
                        }
                         */
UPDATE 2: 这真的很奇怪。如果我掉了一个echo \'.\'$cat = $wp_query->get_queried_object(); 部分中的行get_body_class 功能如上所示,一切正常!如果我这样做了echo \' \' 相反,它又坏了!WTF???

UPDATE 3: 这也很奇怪。如果我去掉echo语句并更改$classes[] = \'category\';$classes[] = \'\'; 如果问题得到解决,也会出现问题。事实上,如果我将其更改为任何其他字符串,它就会工作。因此,只有在设置为category. 这有多奇怪?

1 个回复
SO网友:StevieD

好吧,找出这个奇怪的地方。我最大的错误是:假设死亡的白色屏幕是PHP的某种代码错误。事实上,是我的一些糟糕的css代码把整个身体隐藏起来了!我所要做的就是查看源代码以查看所有代码。

这就解释了为什么没有错误,为什么会神奇地抛出一条echo语句输出到屏幕上;“固定”;事物;因为它破坏了css渲染。

有一天。

专业提示:不要在3小时睡眠的情况下工作。

相关推荐