Php 如何在页面内容中的短代码生成的WordPress插件/主题中添加内联css?

Php 如何在页面内容中的短代码生成的WordPress插件/主题中添加内联css?,php,css,wordpress,Php,Css,Wordpress,我有一个插件,我需要使用wp_add_inline_style()函数在WordPress中正确地包含内联css。在插件中使用这个函数包含CSS是没有问题的,它工作得很好。但我有生成自定义CSS的短代码(不同的短代码不同)。例如,我有一个快捷代码,可以向页面添加带有自定义颜色的文本标题(我为这个标题DIV生成了唯一的CSS类名,并添加了相应的样式) 例如: [mytitle text=“Title example”color=“#666666”] 我有需要内联的css: .mytitle-id-

我有一个插件,我需要使用wp_add_inline_style()函数在WordPress中正确地包含内联css。在插件中使用这个函数包含CSS是没有问题的,它工作得很好。但我有生成自定义CSS的短代码(不同的短代码不同)。例如,我有一个快捷代码,可以向页面添加带有自定义颜色的文本标题(我为这个标题DIV生成了唯一的CSS类名,并添加了相应的样式)

例如: [mytitle text=“Title example”color=“#666666”]

我有需要内联的css: .mytitle-id-4324324 h1{颜色:#666666;}

正如你看到的,我可以在同一页上有多个短代码,里面有不同的颜色。问题是,如果我在短代码中使用wp_add_inline_样式的函数,它永远不会不起作用。它应该内联在“wp_排队_脚本”操作中,正如我所理解的,它不会在短代码的正确时间触发(因为WordPress在wp_排队_脚本之后加载短代码,当WordPress生成内容时)。如何解决这个问题

注意:我知道我可以在HTML代码或echo中添加内联CSS,并且可以正常工作,但我不需要这样做。我的问题是如何使用wp_enqueue_scripts()完成这项工作? 据我所知,我需要以某种方式从整个页面的短代码中获取一个大的全局自定义CSS,然后将其发送到某个函数,该函数将包含该页面的这个大的自定义CSS。但是如何做到这一点呢?因为在WordPress包含CSS之后,短代码防御会执行吗

我的短代码示例代码:

function mgt_shortcode_header_block_wp($atts, $sc_content = null) {

.. some code here where shortcode show HTML output and generate custom css

}
add_shortcode("mgt_header_block_wp", "mgt_shortcode_header_block_wp");
如何从快捷码添加内联自定义css?我不能在短代码内部执行此操作(因为它不会在wp\u enqueue\u脚本中调用action),也不能在此函数之后添加一些函数,因为-自定义css变量仅在短代码内部可用(我不能将其设为全局变量,因为在这里使用全局变量不好),我知道我可能需要将它从shortcode传递给某个函数,例如:

function mgt_shortcode_header_block_wp($atts, $sc_content = null) {

.. some code here where shortcode show HTML output and generate custom css
  mgt_add_to_inline_styles($custom_css); // how should work this function to correctly add inline styles passed to it?


}
add_shortcode("mgt_header_block_wp", "mgt_shortcode_header_block_wp");
但这不会起作用,因为只有在内容中的页面上使用此短代码时,才会执行mgt\u add\u to\u inline\u styles()函数,并且在任何情况下,这都将在wp\u enqueue\u scripts操作之后执行,即使我尝试将mgt\u add\u添加到\u inline\u styles()wp\u排队\u脚本某处的操作


因此,从我的示例中,我不明白mgt\u add\u to\u inline\u styles()
函数中应该包含哪些代码才能使其正常工作?

您可以发布代码吗?我添加了示例代码。您可以发布代码吗?我添加了示例代码。