如何调试主题(主题导致页面没有样式或HTML<head>部分)

时间:2016-02-29 作者:Darren

我有一个客户给我的WordPress主题,所以我一点都不熟悉。激活216th主题可以解决问题,因此它不是插件,而是客户端的主题。

某些页面显示时没有或部分。只是<div>....</div> 碎片

因此,页面的内容只是白色背景上的黑色文本。日志文件中没有错误。已在中设置以下调试选项wp-config.php:-

define( \'WP_DEBUG\', true );
define( \'WP_DEBUG_LOG\', true );
define( \'WP_DEBUG_DISPLAY\', true );
@ini_set( \'display_errors\',1 );
但未显示错误。

有什么想法我应该从主题的什么地方开始寻找吗?

1 个回复
SO网友:Darren

感谢您的帮助性评论,原来是CiviCRM 4.7插件使用了一个“基本页面”,并且一直在调用page.php 作为默认主题模板。但我们的主题没有实现page.php 所以没有<html><head> 正在注入内容物。

已通过安装进行调试XDebug 在端口9000和上运行的服务器上PHPStorm 在客户端上(有免费的,但这很容易设置!)最后是“Chrome XDebug助手扩展”。抱歉,由于信誉问题,没有更多链接:(

逐步遍历代码显示了由原始主题开发人员实现的模板层次结构,总是绕过page.php 和呼叫partials/front-page.php, 这是一些主题中使用的常见模式,例如美德。

因此,解决方案是在“函数”的底部添加一个过滤器。php的文件,并重写调用页面的CiviCRM插件操作。php:-

add_filter( \'civicrm_basepage_template\', \'front_page_for_civi\' ); function front_page_for_civi( $template ) { if ($template==\'page.php\') { return \'partials/front-page.php\'; } return $template; }

根据插件的不同,此过滤器显然需要调用civicrm_basepage_template, 但希望它能为人们指明正确的方向!

感谢@christian wach最初在CiviCRM stack exchange论坛上回答了这个问题。

相关推荐

即使WP_DEBUG设置为FALSE也会发出警告

链接https://vreqenz-stream.de/shop/ 在某些设备上打开而在其他设备上打开时引发警告<我认为这可能是cahce的问题,但我已经从WP rocket和浏览器中清除了缓存。只是为了获取信息,我正在使用Plesk web管理工具下面是我的WP\\U配置设置ini_set(\'log_errors\',\'On\'); ini_set(\'display_errors\',\'Off\'); ini_set(\'error_reporting\', E_ALL )