如何用插件更改主页样式的样式?

how to change style of main page style with plugin?

我正在为我的主题创建一个插件来自定义它,但是当我使用 PHP 并且我在使用 post 请求时编辑主页的样式,我不相信 WP AJAX 系统有没有办法用钩子编辑主页面的样式?

我可以在我的主题中创建短代码,还是只能在插件中创建???

对于 Wordpress,这是一个用于 Web 项目的 CMS,样式主要通过编写 CSS 代码并在 Web 浏览器中呈现来完成。

如何应用样式

内联

您可以进行内联样式设置(不可取),例如:

<input type="text" value="something" style="color: red;">

这通常不是理想做法的原因是,您总是必须将样式添加到要应用它的每个元素。这是一个问题,因为如果您有一个一致的样式,应用于喜欢的 10,000 个元素,然后您打算更改它,则必须在其内联定义的每 10,000 个实例中应用它。

您有时仍会使用内联样式,但您应该避免这样做,除非您绝对确定它足以解决您要解决的给定问题。

样式标签

您还可以在您的页面中添加一个 style 标签,这通常比内嵌样式要好,但它比 css 文件更难重用。示例:

<style type="text/css">
    input.red {color: red;}
</style>
<input type="text" value="something" class="red">

css 个文件

您可以创建一个类似 style.css 的文件,将您的样式从 style 标签移到那里并创建一个 link 标签,如

<link rel="stylesheet" href="styles/style.css">

请注意,上面的代码假设有一个 styles 文件夹用于存储 css 文件,并且 style.css 位于该文件夹中。这是关于样式的普遍接受的做法,这是一种非常流行的方法。

有一些技术违反了 CSS 与结构的分离,例如 ReactJS,它对这些东西有不同的方法,但是,如果您不使用这些 SPA 方法(至少在您学习时Javascript 和 CSS 最好避免使用它们),那么这是一个明智的做法。

方法

在所有情况下,我都假设您有一个 CSS 文件,您希望将其附加到位于 styles/style.css 的 head 标签中。如果你的开发环境有一些差异,那么你当然需要依赖你的环境。

修改主题

您可以随时修改您的主题,它在源代码级别可用。但是,如果它不是您定制的主题,并且您打算在未来使用它的新版本,那么最好避免更改您的主题的源代码。

但是,在生成 HTML 时,尤其是 head 标签时,您可以按前面所述添加 link 标签。事实上,您也可以将它添加到 body 标签中。

修改插件

如果您使用插件并在其中生成一些应用于页面的 HTML,您也可以轻松地将 link 标记添加到该插件。但是,如果您正在执行一些 AJAX 请求并确定是否需要该级别的样式,那么您将需要 Javascript 将 link 标记添加到 head, 例子:

function addLink(path) {
    document.querySelector('head').innerHTML += `<link rel="stylesheet" href="${path}">`;
}

但是,如果您事先知道您的文件将始终需要,则可以避免这种情况。如果你想通过添加一些东西来动态改变样式,那么你可以调用上面的函数,传递所需的路径。