如何在wordpress中使用我的子主题来处理多个样式表?

时间:2014-11-13 16:32:33

标签: php css wordpress twitter-bootstrap

我的子主题文件夹中有styles.cssfooter.phpheader.phpfunctions.php。 (wp-content/themes/kingdom-child)该网站由woocommerce和bootstrap文件组成。我在functions.php文件中有这个:

<?php
function enqueue_child_theme_styles() {
     wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('kingdom-style') );
}
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);

我在styles.css文件中有这个:

/*
Theme Name: Kingdom - Woocommerce Amazon Affiliates Theme
Theme URI: http//smarttvsandgadgets.com/
Description: Kingdom - Woocommerce Amazon Affiliates Child Theme
Author: Charlie Aubuchon
Template: kingdom
Version: 1.4
*/

/* =Theme customization starts here
----------------------------------------------------------------------------------*/

header.phpfooter.php未受影响。

我尝试制作一些样式来改变主题但它没有做任何事情。

我做错了什么? (对PHP的了解不多,在网上找到了所有的例子。)

2 个答案:

答案 0 :(得分:0)

在文档中,一些示例适用于较旧的WP。我已经更新了分钟内容。主题手册有较旧的参考,因为人们离开了项目,同样的人实际上继续为主要的WP开发编写代码。两岁的故事。基本上WordPress.ORG是一个自愿项目。文档之间可能存在微小差异。但OP实际上是一个基本问题。它变得复杂了。

如果OP只需要自定义,则基本用法不需要​​学习入队

最好保留style.css的备份副本。为了语法高亮,在vi或gedit等适当的编辑器中进行编辑。在文本编辑器中打开style.css。不要使用WP的功能。如果你在MS写字板中编辑,我不会发生什么。

如果修改不起作用,则可能意味着很多事情如加载缓存页面,用户代理尊重其他指令,OS +浏览器组合不好等等。使用开发人员工具在Chrome或Firefox上使用空缓存,Cookie进行调试。使用WP编辑器可能无法进行浏览器缓存。缓存插件应该关闭。在开发服务器上编辑。首先确保这些要点。然后删除此, PHP_INT_MAX部分并尝试。

如何编译bootstrap可能很重要。

OP的更多内容

  我的子主题文件夹中的

footer.php,header.php和functions.php。

是的,永远不要在没有备份的情况下触摸functions.php文件。每当我们要求您将此代码段添加到functions.php时,除非另有说明,否则它就是该文件。没有它,儿童主题将无法运作。 footer.phpheader.php不是必填文件。我们通常使用这些文件覆盖默认函数。如果存在home.phpfront-page.php,则会覆盖WordPress管理员主页中的设置。

我与00M或付费主题无关。你在这个级别不需要了解PHP。可能正在加载其他样式表 - 使用webpagetest.org检查资源。您可能正在编辑实际上不需要编辑的文件。使用开发者工具。没有接触PHP(除了删除, PHP_INT_MAX - 注意逗号,它也应该删除)你可以自定义。

其他不必要的主题来自答案

没有评论,这正是WP最新版本的正确选择:

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}
... other stuffs ...

结果将类似于导入CSS。

我不知道M00。我想OP在这里开了<?php,它上面有更多东西。对文件的开头有一些评论是正常的。

通过像Header和Footer Plugin这样的插件,这将是正确的方式,纯HTML:

<link rel="stylesheet" type="text/css" href="https://42.akamai.net/stackoverflow.com/questions/d.css" media="all" />
<!-- media="value", value = all, print, ... 
 Old reference from w3c 
 http://www.w3.org/TR/html401/struct/links.html#adef-rel 
 Microsoft Windozzz IE [1 to 8] can fail to fetch huge number of resources. 
 Conditional IE specific CSS might be needed.
-->

我们经常取消注册材料并以一致的方式提供服务。反转功能。对于自己的网站,我们需要绝对URL,出于开发目的,使用PHP函数。 这些用于其他样式表,不适用于基本自定义,但适用于优化

PHP_INT_MAX中的

add_action()指出开发人员希望在加载所有其他样式表之后显示父样式表。 OP可以删除它进行测试。除非我们能够看到整个functions.php

,否则无法说明用法是否错误

有多种方法可以打印路径或uri,因为我们不知道网站的FQDN是什么:

get_template_directory_uri()
get_stylesheet_directory_uri()
get_stylesheet_uri()
get_theme_root_uri()
get_theme_root()
get_theme_roots()
get_stylesheet_directory()
get_template_directory()

我还没理解为什么突然这个人引用了WP排队脚本功能并错误地引用了my webpage和Net Tut+ guide。它们用于不同的目的。不适用于子主题的样式表自定义。 StackoverFlow有一个值。我,至少从来没有说过要做错误的PHP和HTML鸡尾酒!一个人可以有不同的意见但我从未说过不使用WP enqueue脚本用于子主题的主样式表。如果您有任何疑问,在发布链接之前,您可以问我们。这适用于非阻塞Java脚本,并且asyncdefer。我尊重您的学习和帮助,但您可能应该检查您的答案并更正语法。

我们在谈论其他事情,那个人误解了。这是儿童主题的参考:

codex.wordpress.org/Child_Themes

同样,我与OOM或那个孩子主题无关。我是通过搜索域名来到这里拒绝的。我给出了链接和解决方案。这就是人们如何开始使用WordPress。 5年后,如果你继续调整,你将成为维护自己网站的微型大师。

对不起更大的回复。

答案 1 :(得分:-2)

根据你的问题,两个选择(我的答案是不好的)

如果(初学者只需要样式表才能以最快的方式工作)

假设你只想让样式表工作,为什么不使用普通的外部css包含方式。和查看源查看您的css链接是否正常工作并处于正确的加载位置(找到而不是404)。

<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_directory_uri(); ?>/style.css">

// previsouly got confused about the following 4 wp functions: 
get_stylesheet_directory(): file path to current Theme directory
get_stylesheet_directory_uri(): url path to current Theme directory
get_template_directory(): file path to parent Theme directory
get_template_directory_uri(): url path to parent Theme directory

我个人不按照wordpress模板的默认功能方式添加css,js。有时我不太关心入队的好处(我承认错了):https://wordpress.stackexchange.com/questions/49098/what-are-the-benefits-of-using-wp-enqueue-script

但我可能只是把它放在最适合我阅读的地方,或者在测试阶段作为我的个人偏好来进行覆盖,控制加载顺序等。

其他,(使用排队脚本有很多好处)     你需要花一点时间调试它,理解模板如何加载脚本和序列,忽略上面的硬编码脚本答案。

关于入队脚本的两个参考链接;

wordpress排队脚本的来龙去脉

TTP://code.tutsplus.com/articles/the-ins-and-outs-of-the-enqueue-script-for-wordpress-themes-and-plugins--wp-22509

wp-enqueue-script功能的优点和缺点   TTPS://thecustomizewindows.com/2014/04/advantages-disadvantages-wp-enqueue-script-function/

由于我作为作者的声誉用户也很低,我想借助我研究和学习的有限知识伸出援助之手。当我们参与讨论时,提供相关答案/参考这个问题,总会有很多人倾向于选择删除答案,而实际上没有更好的答案提交或纠正所提到的信息。这种行为不是一种好的讨论文化。