它不起作用,因为您在实际操作触发后调用add\\u action。如果将操作声明移到wp\\u head()之前,它将起作用:
<html>
<head>
<?php
add_action( \'wp_head\', function () {
echo \'<style type="text/css">.sc_title {color:#fff; font-weight:600;}</style>\';
});
?>
<?php wp_head(); ?>
没有简单的方法可以从body标记向头部添加一些代码,因为稍后将对这些代码进行评估。如果你真的需要这样做,你可以
output buffering (首先评估主体模板并将其缓冲)但我不明白为什么要这样做。
In reply to the latests comments:
如果我理解正确的话,那么您想要实现的是在内容中添加一个短代码时在头部添加一些css,对吗?在这种情况下,您可以在标题中为帖子的内容添加一个检查。如果它与给定的短代码匹配,则输出样式。您可以在函数中添加以下内容。php,但这是一种黑客行为:
add_action(\'wp_head\', function () {
global $post;
if ($post) {
setup_postdata($post);
$content = get_the_content();
preg_match(\'/\\[my_shortcode\\]/\', $content, $matches);
if ($matches) {
echo \'<style>.some_style { font-weight:800; }</style>\';
}
}
});