我有一个插件,我需要使用wp_add_inline_style()函数在WordPress中正确包含内联css。在插件中使用此函数包含CSS没有问题,它工作正常。但我有生成自定义CSS的短代码(不同的短代码不同)。例如,我有一个短代码,用于向页面添加带有自定义颜色的文本标题(我为此标题DIV生成了唯一的CSS类名称并添加了相应的样式)。
例如: [mytitle text =“Title example”color =“#666666”]
我有css我需要内联: .mytitle-id-4324324 h1 {color:#666666; }
如您所见,我可以在同一页面上有多个短代码,内部有不同的颜色。如果我在短代码中使用wp_add_inline_style函数它永远不会工作的问题。它应该在“wp_enqueue_scripts”动作中内联,这不会在我理解的短时间内从短时间码触发(因为WordPress在wp_enqueue_scripts后加载的短代码,当WordPress生成内容时)。如何解决这个问题?
注意:我知道我可以在HTML代码或回声中添加内联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_enqueue_scripts 操作中调用)并且我无法在此函数之后添加一些函数,因为 - 自定义css变量仅在短代码内可用(我可以不要把它变成全局变量,因为这里使用全局变量并不好,我明白我可能需要将它从短代码传递给某个函数,例如:
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_add_to_inline_styles()函数只有当这个短代码将在内容的页面上使用时才会被执行,这将是在任何情况下wp_enqueue_scripts动作之后,即使我将尝试以某种方式将m gt_add_to_inline_styles()添加到 wp_enqueue_scripts 操作。
因此,根据我的示例,我不明白 mgt_add_to_inline_styles()函数中应该使用哪些代码才能使其正常工作?