我目前在wp-content/themes/genesis/header.php
中手动实现了跟踪代码
代码如下所示(缩短):
<script>
CODE HERE
<?php if (is_single()){CODE HERE}?>
CODE HERE
</script>
</head>
每当我升级 genesis(Wordpress 主题)时,此代码都会丢失,我必须再次手动添加它。
如何通过functions.php
将此代码添加到 wp-content/themes/genesis/header.php
的 head 部分,以便它在 Wordpress 主题升级中幸存下来 - 代码的外观如何?
使用wp_head
钩子动态地向<head></head>
添加内容。
您的代码如下所示:
add_action('wp_head', 'change_this_name');
function change_this_name(){
?>
<script>
CODE HERE
<?php if (is_single()){CODE HERE}?>
CODE HERE
</script>
<?php
};
通常,在不覆盖修改的情况下修改主题的解决方案是使用子主题。但是你也可以创建一个小插件,可以做你想在这里做的同样的事情。
目前,您采取哪种选择通常很重要,但是如果您计划将来进行更多更改,则应记住:
- 插件用于添加功能
- 主题用于控制事物的外观和感觉
这可能有助于您决定现在最好采用哪个选项(尽管您可以轻松地同时执行这两个选项,或者如果您愿意:)稍后更改)。
选项 1:创建子主题
在wp-content/themes
文件夹中创建一个新文件夹(随心所欲地命名为新主题),然后在该文件夹中创建一个style.css
。
在style.css
顶部,您需要包含主题的定义信息。您可以从 Genesis 主题中复制此格式,只需更改名称和其他详细信息,以便在激活它时清楚这是您的主题。
这里的关键是在此主题信息中添加一个新行:
Template: genesis
将是Genesis的子主题,任何你的主题没有提供的东西,Wordpress都会从Genesis中抓取。
这里的关键是只覆盖你想要的,让其余的回退到创世纪。
因此,您可以复制header.php
并添加代码,但如果文件发生更改,您仍然需要更新文件的其余部分。更好的解决方案是在新的子主题中创建自己的functions.php
,并使用以下方法:
add_action('wp_head', function(){
?>
Enter tracking code here...
<?php
});
然后,这将钩接到Wordpress的头部操作,并在您想要的位置打印出跟踪代码,而无需使用标题的其余部分。
当然,一旦你准备好了,去Outlook->Wordpress中的主题,你会在那里看到你的新主题。激活它并检查您的网站!
有关子主题的更多背景和提示,您可以在Wordpress Codex上查看此页面。
选项 2:创建插件
如果它只是您想要添加到您的网站的功能,您可能会发现插件更有用 - 特别是因为您可以稍后更改主题并轻松保留您的插件,并且您可以随意激活和停用它。
如果您以后要添加更多功能,您可以根据需要创建任意数量的插件。
该过程与创建上面的主题非常相似。不要在wp-content/themes
文件夹中创建新文件夹,而是将其粘贴到wp-content/plugins
中。然后,在该文件夹中创建一个.php
文件(例如。 myplugin.php
,但您可以随心所欲地称呼它),并将以下内容添加到文件顶部:
<?php
/*
Plugin Name: My Toolset
*/
(如果您愿意,您可以添加其他信息,更多信息可在 Wordpress 插件手册的此页面上找到)
在此之下,只需放置上面主题选项中提到的完全相同的add_action()
代码即可。
保存您的文件,转到 Wordpress 后台中的插件,在列表中找到您的新插件,单击激活,然后检查您的网站!
有关插件的更多背景和提示,您可以在Wordpress Codex上查看此页面。