Ale*_*lex 8 php wordpress wordpress-theming
我目前手动实现了跟踪代码 wp-content/themes/genesis/header.php
代码看起来像这样(缩短):
<script>
CODE HERE
<?php if (is_single()){CODE HERE}?>
CODE HERE
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
每当我升级genesis(Wordpress主题)时,这段代码都会丢失,我必须再次手动添加它.
如何通过functions.phphead部分添加此代码,wp-content/themes/genesis/header.php以便它能够在Wordpress主题升级中幸存下来 - 代码将如何显示?
Nab*_*han 12
您需要使用wp_headhook来<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
};
Run Code Online (Sandbox Code Playgroud)
通常,在不覆盖修改的情况下修改主题的解决方案是使用子主题。但是你也可以创建一个小插件来做你想做的事情。
您现在选择的选项通常很重要,但如果您计划将来进行更多更改,则应记住:
这可能会帮助您决定现在最好采用哪个选项(尽管您可以轻松地同时执行这两个操作,或者如果您愿意,可以稍后更改 :))。
在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
});
Run Code Online (Sandbox Code Playgroud)
然后,这将连接到 Wordpress 的头部动作,并在您想要的位置打印出跟踪代码,而无需您处理标题的其余部分。
当然,一旦你准备好了,去外观 -> Wordpress 中的主题,你会在那里看到你的新主题。激活它并检查您的网站!
有关子主题的更多背景和提示,您可以在 Wordpress Codex 上查看此页面。
如果这只是您想添加到站点的功能,您可能会发现插件更有帮助 - 特别是因为您可以稍后更改主题并轻松保留插件,并且您可以随意激活和停用它。
如果您想稍后添加更多功能,您可以根据需要创建任意数量的插件。
该过程与上面创建主题非常相似。不要在文件夹中创建新文件wp-content/themes夹,wp-content/plugins而是将其粘贴。然后,.php在该文件夹中创建一个文件(例如myplugin.php,但您可以随意命名),并将以下内容添加到文件顶部:
<?php
/*
Plugin Name: My Toolset
*/
Run Code Online (Sandbox Code Playgroud)
(如果您愿意,您可以添加其他信息,更多信息可在Wordpress 插件手册的此页面上找到)
在此之下,只需放置add_action()上面主题选项中提到的完全相同的代码。
保存您的文件,转到 Wordpress 管理中的插件,在列表中找到您的新插件,单击激活,然后检查您的站点!
有关插件的更多背景和提示,您可以在 Wordpress Codex 上查看此页面。
| 归档时间: |
|
| 查看次数: |
15485 次 |
| 最近记录: |