激活子主题中断网站,空白页,错误500

时间:2017-02-03 作者:Eric Hepperle - CodeSlayer2010

更新:已解决!(2017年6月2日)

感谢所有帮助了解这个问题的人!

问题的原因是什么

问题的根源是我将整个父主题文件夹内容复制到子主题中。当从旧网站创建新网站时(先复制旧网站,然后根据需要编辑文件夹内容),这是一般web开发中的良好做法,但WordPress子主题的工作方式略有不同。

什么修复了它

子主题应该从最简单的开始:一个包含样式的适当命名的子主题文件夹。css文件和函数。php文件。功能。子级中的php应该引用这些函数。按照Nathan的指示在父级中使用php。

原文:问题是WordPress-specific. 我在为客户端安装了WPhttp://hepkatorganics.com. 我对儿童主题还不熟悉,但法典和本教程中的说明(Understanding WordPress Child Themes in 2016), 看起来很容易理解。但不知何故,编辑了风格的评论部分。css文件似乎破坏了我的网站。就我所知,从纯CSS的角度来看,这没有任何意义,因为CSS会忽略注释。我在Chrome中遇到错误500,而在Firefox中我只得到一个没有view source 任何内容。

了解更多信息,了解我的来历:我刚刚完成了三个季度的网络开发助理课程,HTML5/CSS3和高级CSS&;预处理器类。我在WordPress编程的介绍中也得了A。

正如我所说,我对儿童主题还很陌生,也许这是经验丰富的WP开发人员已经知道的“陷阱”之一。

我的流程遵循以下步骤(略有定制):

安装并激活免费WP主题EightStore Lite.从本地复制整个父主题文件夹wp-content/themes/eightstore-lite 并重命名了父对象的精确副本eightstore-lite-ehw-1.仅注释标题。这是我复制的原始代码;从粘贴Codex:

/* Theme Name: Twenty Fifteen Child Theme URI: http://example.com/twenty-fifteen-child/ Description: Twenty Fifteen Child Theme Author: John Doe Author URI: http://example.com Template: twentyfifteen Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready Text Domain: twenty-fifteen-child */

wp-themes 并启动了网站。成功了。预览了子主题。成功了。

编辑注释标题如下:

/* Theme Name: EightStore Lite - EHW - 1 Theme URI: https://wordpress.org/themes/eightstore-lite/ Description: EightStore Lite Child Theme Author: Eric Hepperle Author URI: http://erichepperle.com Template: eightstore-lite Version: 1.0.0 Date Created: 02/03/2017 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready Text Domain: eightstore-lite-ehw-1 */

注意,我更改了除Version, License, License URI, and Tags.

将整个子主题文件夹重新上载到wp-themes 并启动了网站。成功了。预览了子主题。成功了。

根据视频教程,添加了这一行:

@import url("../eightstore-lite/style.css");

HTTP ERROR 500

Http 500 Error pic

<风格的最终版本。css文件是:

/* Theme Name: EightStore Lite - EHW - 1 Theme URI: https://wordpress.org/themes/eightstore-lite/ Description: EightStore Lite Child Theme Author: Eric Hepperle Author URI: http://erichepperle.com Template: eightstore-lite Version: 1.0.0 Date Created: 02/03/2017 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready Text Domain: eightstore-lite-ehw-1 */

/* OLD WAY --> Not Recommended!:

@import url("../eightstore-lite/style.css"); */

请注意,此文件只有CSS注释。

我的问题一个只有css注释的文件怎么能破坏WordPress网站?

我的配置有什么问题?我的意思是,我甚至还没有开始编辑实际的css!

防止WordPress网站崩溃的关键是什么?

非常感谢您的帮助。

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

恭喜你开始了你的第一个WordPress子主题。我建议你删掉你的内容(因为我们不知道到底是怎么回事),从最简单的儿童主题开始。然后添加内容,直到有东西断开或完成子主题。

要开始一个非常基本的子主题,请在主题/目录中创建一个新的子目录。添加仅包含以下内容的CSS文件:

/*
 * Theme Name:   My ChildTheme
 * Template:     eightstore-lite
 * Version:      1.0.0
 */
确保当前已安装eightstore lite主题。激活子主题。祝贺你的第一个孩子主题!现在让我们使用来自父主题的CSS。

@导入url(“../eightstore-lite/style.css”);

这不是使用父主题CSS的正确方法。将父主题的CSS排队的正确方法是使用主题的函数。php文件(或functions.php调用的另一个文件)。让我们创建一个名为functions的文件。php与CSS文件位于同一目录中,包含以下内容:

<?php
add_action( \'wp_enqueue_scripts\', function() {
    //* Parent CSS
    wp_enqueue_style( \'eightstore-lite\', 
      get_template_directory_uri() . \'/style.css\' );

    //* Child CSS
    wp_enqueue_style( \'eightstore-lite-child\', 
      get_stylesheet_directory_uri() . \'/style.css\', [ \'eightstore-lite\' ] );
} );
现在,您的子主题将使用父主题CSS。如果您现在查看站点的公共端,它将与启用父主题时完全相同。

在样式中添加一些CSS。css来查看它的作用。现在,您有了一个子主题,该子主题使用具有自定义CSS样式的父主题功能。

SO网友:WebElaine

你的风格。css文件可能没有破坏网站。正如你所怀疑的,CSS本身并不能破坏一个网站,但是如果你的主题作为一个整体存在任何问题,激活主题可能会导致问题。

听起来像是您将整个父主题复制到了子主题中。对吗?如果是这样,您真正需要做的是从头开始子主题。创造全新的风格。css文件,您可以在其中粘贴父主题信息,并在上载之前将其更新为您自己的信息。然后,创建一个全新的功能。php文件,您可以在其中将此样式表排队。一旦这些文件都准备好了,您应该能够激活主题,并且不会看到任何错误。

冒险进入新领域的荣誉。当你第一次尝试儿童主题时,很可能会破坏你的网站。保留备份,并在临时或开发站点而不是生产站点上工作。这样,如果你破坏了一些东西,你就不会影响一个实时站点。

查看网站的PHP错误日志也将使您受益匪浅。您还可以打开WP\\u DEBUG以查看特定于WP的错误。这两个工具应该可以帮助您找出最初尝试的具体错误。如果您确实将整个父主题复制到子主题中,那么几乎可以保证在两个主题中定义相同名称的函数,这会导致致命错误。

SO网友:Steve

看起来PHP错误已关闭,您有一个致命的PHP错误。

如果正在记录日志,您应该检查日志,因为这是您找出问题的最佳选择。在那里,您将找到错误以及错误所属的行。

相关推荐

如何在WordPress中使用html和css定制帖子?

我试图在Internet和stackoverflow上查找信息,但什么都没有。因此,我已经将我的网站(html、css、js)迁移到WordPress(index.php、header.php、footer.php等),在将帖子添加到我的网站之前,我不知道如何更改帖子的视图。我可以看到四种方法:1) 下载WP插件以添加和自定义帖子。但我只能使用管理区域进行自定义,我不能使用HTML和CSS,选项很少(颜色、图片等)2) 创建一个单独的文件(sidebar.php)并将我的帖子添加到其中。但如果我的客户想自