更新:已解决!(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
.编辑样式。css-->仅注释标题。这是我复制的原始代码;从粘贴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
<风格的最终版本。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网站崩溃的关键是什么?
非常感谢您的帮助。
最合适的回答,由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样式的父主题功能。