我有以下两个代码片段,它们在 header.php
中呈现自定义代码和footer.php
:
<!-- code before closing head tag -->
<?php echo $x_redux_option['x_code_before_head']; ?>
<!-- code before closing body tag -->
<?php echo $x_code_before_body; ?>
数据来自redux framework
动态地。
并且这些选项仅接受用 script tags
包装的代码和HTML markup
这在 <head> tag for header
内有效和valid HTML markup for footer
.
事实上,Mentor Themeforest
显示以下错误:
所有动态数据都必须针对其呈现的上下文进行正确转义。在文件
header.php
,第 39 行:所有动态数据都必须针对其呈现的上下文进行正确转义。在文件
footer.php
,第 44 行:
如何转义这些数据?
我会使用 wp_kses()
功能?
但这HTML tags
我应该允许吗?
我如何知道应该允许使用哪些标签?
请像以前一样伸出援助之手。 :) 非常感谢您百忙之中阅读。
最佳答案
我会选择esc_html
。由于您要回显 HTML 和脚本,因此 wp_kses
需要允许几乎所有标记。您的代码将如下所示:
<!-- code before closing head tag -->
<?php echo esc_html( $x_redux_option['x_code_before_head'] ); ?>
<!-- code before closing body tag -->
<?php echo esc_html( $x_code_before_body ); ?>
我想您熟悉数据转义,但无论如何我都会留下一个指向 WordPress 官方文档的链接:
https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/
谢谢, 卢卡
关于javascript - WordPress 中的动态自定义代码转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47448001/