我目前在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主题升级中幸存下来 - 代码将如何显示?
答案 0 :(得分:8)
您需要使用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 :(得分:3)
通常,在不修改您的修改的情况下修改主题的解决方案是使用子主题。但你也可以创建一个小插件,它可以做你想做的事情。
您选择的选项目前通常非常多,但如果您计划将来进行更多更改,则应记住:
这可能会帮助您确定最好采用哪个选项(尽管您可以轻松地执行这两个选项,或者如果您愿意,可以稍后更改)。)
在wp-content/themes
文件夹中创建一个新文件夹(将其命名为您想要调用新主题的任何内容),然后在该文件夹中创建style.css
。
在style.css
的顶部,您需要包含主题的定义信息。您可以从Genesis主题复制此格式,只需更改名称和其他详细信息,以便在您激活它时明确这是您的主题。
这里的关键是在这个主题信息阅读中添加一个新行:
Template: genesis
该行告诉Wordpress你的主题将是Genesis的儿童主题,以及你的主题没有提供的任何内容,Wordpress将从Genesis中获取。
这里的关键是只覆盖你想要的,然后让其余的回溯到Genesis。
因此,您可以复制header.php
并添加您的代码,但如果更改,您仍需要更新文件的其余部分。更好的解决方案是在新的子主题中创建自己的functions.php
并使用以下内容:
add_action('wp_head', function(){
?>
Enter tracking code here...
<?php
});
然后,这将挂钩到Wordpress的头部动作,并在您想要的地方打印出跟踪代码,而不必使用其余的标题。
当然,一旦你准备好了,就去外观 - &gt; Wordpress中的主题,你会在那里看到你的新主题。激活它并检查您的网站!
有关儿童主题的更多背景信息和提示,您可以看到this page on the Wordpress Codex。
如果只是想要添加到您网站的功能,您可能会发现插件更有用 - 特别是因为您可以稍后更改主题并轻松保留插件,您可以随意激活它并停用它。
如果您想在以后添加更多功能,可以根据需要创建任意数量的插件。
该过程相当类似于创建上述主题。而不是在wp-content/themes
文件夹中创建新文件夹,而是将其粘贴在wp-content/plugins
中。然后,在该文件夹中创建一个.php
文件(例如myplugin.php
,但您可以随意调用它),并将以下内容添加到文件顶部:
<?php
/*
Plugin Name: My Toolset
*/
(如果您愿意,可以添加其他信息,可在this page of the Wordpress Plugin Handbook上获得更多信息)
在此下,只需放置上面主题选项中提到的完全相同的add_action()
代码即可。
保存文件,转到Wordpress管理员插件,在列表中找到新插件,点击激活,然后检查您的网站!
有关插件的更多背景信息和提示,您可以看到this page on the Wordpress Codex。