在Wordpress子主题中更改类/ id

我目前正在通过创建子主题更改wordpress中的父主题,我只是检查这是否被认为是错误的 如果/当主题更新时它会产生任何影响。</ p>

例如 父主题的 header.php </ code>有一个名为 #menu </ code>的id。 这在父代的 style.css </ code>文件中有很多样式。 为了避免必须改变与 #menu </ code>有关的所有内容,我将id更改为子主题的 header.php </ code>文件中的#menu-child </ code> 并添加了我自己的样式,这使得它更快,但我不确定它是否会在更新时将样式/主题搞砸。</ p>

提前致谢。< / p>
</ div>

展开原文

原文

I am currently changing a parent theme in wordpress by creating a child theme and I am just checking if this is considered bad form and if it will have any repercussions if/when the theme is updated.

e.g. The parent theme's header.php has an id called #menu. This has a lot of styles in the parent's style.css file. To avoid having to alter everything to do with the #menu I changed the id to #menu-child in the child theme's header.php file and added my own styles, this has made it a lot quicker but I'm unsure if it will screw the styles/theme up if/when it is updated.

Thanks in advance.

1个回答



简答:否。</ p>

您的子主题模板会覆盖主题模板,但仍然会 更新后。 所以你的改变将保持不变。 但是如果父主题使用 #menu </ code>来创建东西(样式,js ......),这些更改和当前调整将不再对您的子主题产生任何影响。 因此,如果您想要自己的更改以及父主题的所有功能和样式,则不应删除id,而是添加自己的类。
如果原因主题开发人员有时会搞乱结构或自行更改,这需要您更改 子主题模板(如改变整个结构)。</ p>
</ div>

展开原文

原文

Short answer: No.

Your child theme template overwrites the main theme template and still does that after an update. So your changes will stay in place. But if the parent theme uses the #menu for stuff (styling, js...) these changes and current adjustments will not have any effect in your child theme anymore. So if you want your own changes and all functionalities and styling of the parent theme you should not remove the id, but add your own class. Of cause theme developers can sometimes mess up the structure or make changes themselves which require you to alter your child theme templates as well (like changing the whole structure).

doukang7858
doukang7858 那么你必须逐个覆盖所有属性。 我不能为你决定什么是更好的方法:自己设计或者所有这些属性。 你必须猜测哪一个更简单,并且取决于你想要保留的样式的人。 保持课程和覆盖的优点是你坚持原始的主题结构。 缺点是代码开销,如果你不想要同样的外观,你也不希望更新搞乱你的自定义元素...所以它取决于你:-)
4 年多之前 回复
duanmianhong4893
duanmianhong4893 谢谢,我会告诉你一个我的意思的例子......所以这是父style.css菜单的一部分#menu {position:absolute; z-index:99999; display:none; 右:0; 上:60px; } #menu> ul> li.menu-item-has-children> a:after,#menu> ul ul> li.menu-item-has-children> a:after {top:50%; 右:0px; margin-top:-6px; margin-left:4px; 身高:自动; 内容:'\ f107'; font-family:'FontAwesome'; line-height:12px; 但我不希望其中一些适用。 就像我如何摆脱所有的第二个造型?
4 年多之前 回复
douyan8772
douyan8772 如果仅关于可见性,可能更容易在当前的id菜单上覆盖它:#menu {display:block} - >但是如果汉堡菜单被触发并通过js初始化,可能你的第一个方法是自定义id是 更好的解决方案,以摆脱任何js功能(取决于js如何绑定到元素,它也可以是数据标签或类)
4 年多之前 回复
dongnao3990
dongnao3990 我想保持造型与菜单之间的一些事情 - 目前主题是汉堡包式菜单。 我有它所以菜单项显示没有汉堡包菜单。
4 年多之前 回复
dreamice2013
dreamice2013 你不想保持父主题的样式吗? 如果你不想保留父主题样式并且这些都是通过id完成的话,它真的很棘手,但如果你不想保留任何样式,也许你想要自己的主题呢? 通常用儿童主题来覆盖样式并通过自己的类添加样式,例如:#main {color:#myowncolor}#main.my-child-theme {// your stylings}(这也可以直接在id上,但是 它可以更容易地从你自己的风格中分离覆盖物)
4 年多之前 回复
dpziir0079
dpziir0079 谢谢! 您如何建议保留#menu id并添加课程? 身份还不会有一些造型吗?
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐