我在style属性中有一个短码:
<div style="background-image: url("[my-shortcode id="1"]");"></div>
问题是短代码将不会被呈现。
我发现在函数safecss_filter_attr()
(在w-includes/kses.php中,第:1688行)中,正则表达式过滤(
并返回一个空字符串。
由于安全限制,此特定情况不起作用。
有没有其他方法可以在div属性中呈现快捷码?
发布于 2018-03-07 18:50:56
你有没有尝试在页面上echo
你的短代码的输出,看看它返回了什么,以确保它能正常工作?
<?php echo do_shortcode('[my-shortcode id="1"]'); ?>
您也可以尝试将其保存在变量中。nospan是必需的,因为默认情况下,WordPress会在<span>
内部输出它:
<?php
$shortcode_url = do_shortcode('[my-shortcode id="1" nospan="true"]');
?>
<div style="background-image: url(<?php echo $shortcode_url; ?>);"></div>
发布于 2018-03-07 18:56:11
你可以试着这样做,
function my_shortcode_function() {
$i = '<p>Hello World!</p>';
return $i;
}
add_shortcode('my-shortcode', 'my_shortcode_function');
<div style="background-image:url('<?php echo do_shortcode('[my-shortcode]'); ?>');"></div>
发布于 2018-03-08 03:16:07
我需要把短码放在帖子内容(visual composer html元素)中。
所以我需要用整个html代码来呈现它:
<div style="background-image: url("[acf field='my_field' post_id='123']");"></div>
https://stackoverflow.com/questions/49149046
复制相似问题