【发布时间】:2021-03-30 00:14:56
【问题描述】:
我在functions.php中有我为wordpress制作的这段代码
function card_shortcode($atts, $content = null) {
$attributes = shortcode_atts( array(
'titolo' => '',
'prezzo' => '0',
'bullet' => ''
), $atts );
$title = esc_attr($attributes['titolo']);
$price = esc_attr($attributes['prezzo']);
$bullet = esc_attr($attributes['bullet']);
$output = '<div class="card">
<div class="card_main_point">
[card_title titolo="'.$title.'"]
[card_price prezzo="'.$price.'€"]
</div>
<div class="card_secondary_point">
<ul class="bullet_holder">
[card_bullet bullet="'.$bullet .'"]
</ul>
</div>
</div>
[card_style]';
return do_shortcode($output);
}
我尝试在互联网上寻找答案,但没有结果,因为输出是这样的
<div class="card">
<div class="card_main_point">[card_titleTest][card_price42€]
<div class="card_price">
<h4></h4>
</div>
</div>
<div class="card_secondary_point">
<ul class="bullet_holder">[card_bulletrew;tre;ytr]
</ul>
</div>
</div>
我也尝试过这种解决方案,但结果相同。就像具有属性的短代码被截断,只剩下变量。有人可以帮我吗?
function card_shortcode($atts, $content = null) {
$attributes = shortcode_atts( array(
'titolo' => '',
'prezzo' => '0',
'bullet' => ''
), $atts );
$title = esc_attr($attributes['titolo'];
$price = esc_attr($attributes['prezzo'];
$bullet = esc_attr($attributes['bullet'];
$output = '<div class="card">
<div class="card_main_point">'
. do_shortcode('[card_title titolo="'.$title.'"]') . ''
. do_shortcode('[card_price prezzo="'.$price.'€"]') .'
</div>
<div class="card_secondary_point">
<ul class="bullet_holder">'
. do_shortcode('[card_bullet bullet="'.$bullet .'"]') . '
</ul>
</div>
</div>
'
. do_shortcode("[card_style]");
return do_shortcode($output);
}
【问题讨论】:
标签: php html wordpress shortcode