提问人:Marcio Vieyra 提问时间:5/9/2020 更新时间:5/9/2020 访问量:277
do_shortcode:开始和结束标记,引号之间有变量
do_shortcode: Opening and Closing tag with variable inside between quotes
问:
你能帮我修复这段代码吗? 它应该获取产品 ID(它确实如此),然后获取名为“ID_del_curso”的自定义字段(它确实如此),最后打印出一个简码 [student course_id=“$courseid”]HTML[/student]
该按钮将显示给访问该站点的任何人,而不仅仅是有资格成为产品中嵌入的课程编号的学生的人。
我猜错误是“回声”线在哪里......我在这里快疯了!帮助!!!非常感谢:D
<?php
global $product;
$postid = $product->get_id();
$courseid = get_post_meta( $product->get_id(), 'ID_del_curso', true );
$html = '<center><div class="alreadyPurchased"><i class="fas fa-graduation-cap paddingRightM"></i> Ya te has registrado</div></center>';
echo do_shortcode("[student course_id="" .$courseid. ""]". $html . "[/student]");
?>
答:
0赞
Marcio Vieyra
5/9/2020
#1
所以。。。我一直在尝试,并像这样解决它:
<?php
global $product;
$postid = $product->get_id();
$courseid = get_post_meta( $product->get_id(), 'ID_del_curso', true );
$html = '"]<center><div class="alreadyPurchased"><i class="fas fa-graduation-cap paddingRightM"></i> Ya te has registrado</div></center>';
$openIT = '[student course_id="';
$closeIT = '[/student]';
echo do_shortcode( $openIT . $courseid . $html . $closeIT );
?>
有没有更简单/更清晰的方法可以做到这一点?希望它能帮助任何试图实现同样目标的人。
1赞
user8717003
5/9/2020
#2
尝试:
<?php
global $product;
$courseid = get_post_meta( $product->get_id(), 'ID_del_curso', true );
$student = <<<EOD
[student course_id="$courseid"]
<center>
<div class="alreadyPurchased">
<i class="fas fa-graduation-cap paddingRightM"></i> Ya te has registrado
</div>
</center>
[/student]
EOD
echo do_shortcode( $student );
?>
这在功能上等同于您的代码,但我认为更容易阅读,因为它的格式类似于 HTML。
上一个:引用单词并用逗号分隔
下一个:如何修复在MySQL中读取的密码
评论