【发布时间】:2020-11-02 15:22:47
【问题描述】:
我已经加入了一个包含 CSS 的 php 文件。一切正常,除了当我激活插件时 wordpress 出现问题。
插件在激活期间生成了 1230 个字符的意外输出。如果您发现“标头已发送”消息、联合提要问题或其他问题,请尝试停用或删除此插件。
这是我在我的 php 文件中的 CSS 上方的内容。
<?php // We'll be outputting CSS header('Content-type: text/css'); ?>
似乎 Wordpress 不希望 PHP 文件中包含 CSS。但它确实有效。我在其他地方读过只是添加标题内容类型文本/css,一切都应该没问题。但是 Wordpress 不喜欢这样。有人可以帮忙吗?
【问题讨论】:
-
你看过1230个字符是什么吗?它们是您的 php 代码中的 CSS 吗?正如 Wordpress 的回复所说,你不能这样做——在一切设置好之前发送输出。你能告诉我们你是如何进行排队的吗?
-
绝对是CSS。当我添加或删除任何 CSS 时,错误显示消息中的字符数会发生变化。我实际上并没有将该文件排入队列,而是将其包含在内。这是执行此操作的代码。包括(plugin_dir_path(文件)。'dynamicstyles/style.php');
-
wordpress.stackexchange.com/questions/129259/… 看起来我需要将它放在回调中并通过 wp_head 将回调挂钩到头部。我不完全确定我知道为什么这解决了问题,但错误不再显示。嗯。
-
我添加了这个
<?php function wpse_129259_enqueue_dynamic_css() { // Grab your variable global $data; ?> <style type="text/css">,然后在CSS</style> <?php } add_action( 'wp_head', 'wpse_129259_enqueue_dynamic_css' );之后添加了这个 -
如果您了解这解决了问题的原因,您能否添加一个答案,以便我将其标记为已解决。如果有解释,也许它可以帮助其他人。