php - WordPress自定义函数未将全局变量传递给其他函数
问题描述
我正在尝试在全局变量中传递自定义 CSS 以在另一个函数中使用它,然后将其传递给wp_enqueue_scripts
via,wp_add_inline_style
但是当我将它用作全局变量时,它不会返回任何内容,只有当我add_action('wp_footer', 'my_function')
在下面使用时我会告诉你我的代码和功能
我已经尝试了很多方法,但仍然是同样的问题!
我cru_generate_custom_style
在许多文件中使用为自定义元素生成自定义 css,并且基于WordPress,您无法wp_add_inline_style
在其他任何地方运行,除非wp_enqueue_scripts
这是为了消除W3C上的错误并将内联样式添加到wp_head
global $cru_bottom_styles;
$cru_bottom_styles = array();
function cru_generate_custom_style( $selector = '', $props = '', $media = '', $footer = true ) {
global $cru_bottom_styles;
$css = '';
// Selector Start
$css .= $selector . ' {' . PHP_EOL;
// Selector Properties
$css .= str_replace( ';', ';' . PHP_EOL, $props );
$css .= PHP_EOL . '}';
// Selector End
// Media Wrap
if ( trim( $media ) ) {
$css = "@media {$media} { {$css} }";
}
if ( ! $footer || defined( 'DOING_AJAX' ) ) {
echo "<style>{$css}</style>";
return;
}
$cru_bottom_styles[] = $css;
}
function cru_parse_header_styles() {
global $cru_bottom_styles;
print_r($cru_bottom_styles);
wp_add_inline_style( 'main', implode( PHP_EOL . PHP_EOL, $cru_bottom_styles ) );
}
add_action( 'wp_enqueue_scripts', 'cru_parse_header_styles' );
解决方案
推荐阅读
- python - 在轴的边缘添加轴标签(不在中间)
- tcl - 如何让 'exec' 的结果显示在调用 shell 中?
- background-process - 如何在本机反应中正确使用 redux saga 和背景事件?
- javascript - 如何使用 JSXgraph 中包含的 mathJax 将文本转换为乳胶?
- node.js - 将视频从 OBS 流式传输到在 heroku 上运行并使用 node-media-server 的 rtmp 服务器
- javascript - 如何在for循环中中断从继续到该行直到用户提交表单(Javascript)
- docker - 我如何运行所有 jenkins 管道步骤,除了 docker 容器中的一个
- c++ - 成员函数定义中的不完整类型
- angular - 长寿命的多播 Observable,每次订阅时都会重新订阅其源
- python - 根据分配的颜色更改字体颜色 - Python