我正在尝试为子主题创建一个footer.php,但收效甚微-使用wordpress + oceanwp + elementor
Posted
技术标签:
【中文标题】我正在尝试为子主题创建一个footer.php,但收效甚微-使用wordpress + oceanwp + elementor【英文标题】:I'm trying to create a footer.php for child theme with little success - Using wordpress + oceanwp + elementor 【发布时间】:2020-11-30 14:07:06 【问题描述】:我最近使用 elementor 页面构建器为 OceanWP 创建了一个子主题。 我已通过 Filezilla FTP 将文件夹上传到父文件夹旁边的主题文件夹中。我创建了 style.css 和 functions.php,并在清除 WP Rocket 和 Cloudflare CDN 上的缓存后,将适当的代码添加到网站的每个和所有页面加载正常。
然后我添加了一个footer.php
文件(因为我需要在该文件中添加一些额外的代码,就在</head>
标记之前的附属链接),这就是我感到困惑的地方。
我应该从父 footer.php
复制代码并将其插入到孩子中吗? (我这样做了,我的边距都搞砸了,css 样式变得疯狂)
在我添加我需要的代码之前是否应该将其留空? (我这样做了,我的页脚消失了,菜单无法正常工作?!)
两者都不应该,我是否需要在子主题的functions.php
中的action or enqueue script
上添加某种类型以允许页脚正确显示?
我正在这样做,所以当和如果我更新了主题,这些sn-ps代码并没有从我的服务器和站点中完全删除。
我什至需要这样做吗?我应该将其添加到父 footer.php 文件中吗?
我对编码非常陌生,只知道少量的 html、CSS,并且刚刚开始学习 PHP。
这是我的子主题 function.php 文件中的代码
/**
* Child theme functions
*
* When using a child theme (see http://codex.wordpress.org/Theme_Development
* and http://codex.wordpress.org/Child_Themes), you can override certain
* functions (those wrapped in a function_exists() call) by defining them first
* in your child theme's functions.php file. The child theme's functions.php
* file is included before the parent theme's file, so the child theme
* functions would be used.
*
* Text Domain: oceanwp
* @link http://codex.wordpress.org/Plugin_API
*
*/
/**
* Load the parent style.css file
*
* @link http://codex.wordpress.org/Child_Themes
*/
function oceanwp_child_enqueue_parent_style()
// Dynamically get version number of the parent stylesheet (lets browsers re-cache your stylesheet when you update your theme)
$theme = wp_get_theme( 'OceanWP' );
$version = $theme->get( 'Version' );
// Load the stylesheet
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'oceanwp-style' ), $version );
add_action( 'wp_enqueue_scripts', 'oceanwp_child_enqueue_parent_style' );
【问题讨论】:
【参考方案1】:您写道:“然后我去添加一个 footer.php 文件(因为我需要在该文件中添加一些额外的代码,就在附属链接的 head 标记之前),这就是我感到困惑的地方。”
“就在标签头之前”与footer.php无关
通常,
文件footer.php与“就在标签正文之前”有关
文件 header.php 与“就在标签头之前”有关
我说通常是因为在某些主题中 header.php 和 footer.php 会调用其他文件或函数。
所以,首先,请确保您没有将 header.php 与 footer.php 混淆
如果您的目标是在标签头之前编写额外的代码,请复制 header.php 并将其放入您的子主题中。然后修改那个文件。
【讨论】:
我很抱歉。漫长的一天结束了,我没有抄袭我的工作。是的,我的意思是在页脚中的结束正文标记之前 如果我正在创建一个子footer.php,代码是否应该与父代码包含的完全匹配,然后我从那里编辑它?或者我是否从头开始使用一个空文件,然后它首先从孩子那里读取它应该读取的内容,然后从父母那里获取其余部分。这不就是它的工作原理吗?或者我是否像使用 css enqueue 一样从子 functions.php 指向它?我不完全确定我了解子主题如何工作的结构以及进行修改需要哪些文件 您必须复制footer.php 并将其原样放入您的子主题中。然后根据需要更改该文件。没有别的了。 嘿何塞,感谢您的简化!我会再试一次。以上是关于我正在尝试为子主题创建一个footer.php,但收效甚微-使用wordpress + oceanwp + elementor的主要内容,如果未能解决你的问题,请参考以下文章