如何避免WordPress主题升级更改我的父主题functions.php()

我目前在wp-content / themes / genesis / header.php中手动实现了跟踪代码
代码看起来像这样(缩短):

< script> CODE HERE < ?php if (is_single()){CODE HERE}?> CODE HERE < /script> < /head>

每当我升级创世(WordPress主题)时, 此代码都会丢失, 我必须再次手动添加它。
【如何避免WordPress主题升级更改我的父主题functions.php()】我如何通过functions.php将此代码添加到wp-content / themes / genesis / header.php的head部分中, 以便它在Wordpress主题升级后仍然存在-代码看起来如何?
#1你需要使用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 };

#2通常, 在不覆盖所做修改的情况下修改主题的解决方案是使用子主题。但是, 你也可以创建一个小插件, 该插件可以执行你在此想要做的事情。
到目前为止, 你通常会选择哪种方法, 但是如果你将来计划进行更多更改, 则应记住以下几点:
  • 插件用于添加功能
  • 主题用于控制事物的外观和感觉
这可以帮助你确定最好采用哪种选择(尽管你可以轻松地选择两者, 也可以稍后再更改:)。
在wp-content / themes文件夹中创建一个新文件夹(将其命名为你想要调用新主题的任何名称), 然后在该文件夹中创建一个style.css。
在style.css的顶部, 你需要包括为主题定义信息。你可以从Genesis主题复制此格式, 只需更改名称和其他详细信息, 以便在激活它时很清楚这是你的主题。
然后, 这里的关键是向此主题信息阅读添加新行:
模板:创世纪
该行告诉Wordpress, 你的主题将是Genesis的子主题, 而你的主题没有提供的任何内容, WordPress将从Genesis那里抢走。
然后, 这里的关键是仅覆盖你想要的内容, 让其余的内容退回到Genesis。
因此, 你可以复制header.php并在其中添加代码, 但是如果文件更改, 则仍然需要更新文件的其余部分。更好的解决方案是在新的子主题中创建自己的functions.php并使用以下代码:
add_action('wp_head', function(){ ?> Enter tracking code here... < ?php });

然后, 这将挂接到Wordpress的头部动作中, 并在你需要的位置直接打印出跟踪代码, 而无需你弄乱标题的其余部分。
当然, 一旦准备好, 请转到Wordpress中的外观-> 主题, 你将在其中看到新主题。激活它并检查你的站点!
有关子主题的更多背景和技巧, 你可以在Wordpress Codex上看到此页面。
如果只是要添加到站点的功能, 则可能会发现插件更有用-特别是因为你可以稍后更改主题并轻松保留插件, 并且可以随意激活和停用它。
如果以后要添加更多功能, 则可以创建任意数量的插件。
该过程与上面创建主题非常相似。与其在wp-content / themes文件夹中创建新文件夹, 不如将其粘贴在wp-content / plugins中。然后, 在该文件夹中创建一个.php文件(例如, myplugin.php, 但你可以随意命名), 并将以下内容添加到该文件的顶部:
< ?php /* Plugin Name: My Toolset */

(你可以根据需要添加其他信息, 有关更多信息, 请参见《 WordPress插件手册》的本页)
在此之下, 只需放置与上面主题选项中提到的完全相同的add_action()代码即可。
保存文件, 在Wordpress管理员中转到” 插件” , 在列表中找到你的新插件, 单击” 激活” , 然后检查你的网站!
有关插件的更多背景和技巧, 请在Wordpress Codex上查看此页面。
#3我目前在wp-content / themes / genesis / header.php中手动实现了跟踪代码
代码看起来像这样(缩短):
< script> CODE HERE < ?php if (is_single()){CODE HERE}?> CODE HERE < /script> < /head>

每当我升级创世(WordPress主题)时, 此代码都会丢失, 我必须再次手动添加它。
我如何通过functions.php将此代码添加到wp-content / themes / genesis / header.php的head部分中, 以便它在Wordpress主题升级后仍然存在-代码看起来如何?
#4你需要使用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 };

#5通常, 在不覆盖所做修改的情况下修改主题的解决方案是使用子主题。但是, 你也可以创建一个小插件, 该插件可以执行你在此想要做的事情。
到目前为止, 你通常会选择哪种方法, 但是如果你将来计划进行更多更改, 则应记住以下几点:
  • 插件用于添加功能
  • 主题用于控制事物的外观和感觉
这可以帮助你确定最好采用哪种选择(尽管你可以轻松地选择两者, 也可以稍后再更改:)。
在wp-content / themes文件夹中创建一个新文件夹(将其命名为你想要调用新主题的任何名称), 然后在该文件夹中创建一个style.css。
在style.css的顶部, 你需要包括为主题定义信息。你可以从Genesis主题复制此格式, 只需更改名称和其他详细信息, 以便在激活它时很清楚这是你的主题。
然后, 这里的关键是向此主题信息阅读添加新行:
模板:创世纪
该行告诉Wordpress, 你的主题将是Genesis的子主题, 而你的主题没有提供的任何内容, WordPress将从Genesis那里抢走。
然后, 这里的关键是仅覆盖你想要的内容, 让其余的内容退回到Genesis。
因此, 你可以复制header.php并在其中添加代码, 但是如果文件更改, 则仍然需要更新文件的其余部分。更好的解决方案是在新的子主题中创建自己的functions.php并使用以下代码:
add_action('wp_head', function(){ ?> Enter tracking code here... < ?php });

然后, 这将挂接到Wordpress的头部动作中, 并在你需要的位置直接打印出跟踪代码, 而无需你弄乱标题的其余部分。
当然, 一旦准备好, 请转到Wordpress中的外观-> 主题, 你将在其中看到新主题。激活它并检查你的站点!
有关子主题的更多背景和技巧, 你可以在Wordpress Codex上看到此页面。
如果只是要添加到站点的功能, 则可能会发现插件更有用-特别是因为你可以稍后更改主题并轻松保留插件, 并且可以随意激活和停用它。
如果以后要添加更多功能, 则可以创建任意数量的插件。
该过程与上面创建主题非常相似。与其在wp-content / themes文件夹中创建新文件夹, 不如将其粘贴在wp-content / plugins中。然后, 在该文件夹中创建一个.php文件(例如, myplugin.php, 但你可以随意命名), 并将以下内容添加到该文件的顶部:
< ?php /* Plugin Name: My Toolset */

(你可以根据需要添加其他信息, 有关更多信息, 请参见《 WordPress插件手册》的本页)
在此之下, 只需放置与上面主题选项中提到的完全相同的add_action()代码即可。
保存文件, 在Wordpress管理员中转到” 插件” , 在列表中找到你的新插件, 单击” 激活” , 然后检查你的网站!
有关插件的更多背景和技巧, 请在Wordpress Codex上查看此页面。

    推荐阅读