Php do_短代码:在引号之间插入变量的开始和结束标记
你能帮我修复这个代码吗? 它应该获取产品ID(它是这样做的),然后获取名为“ID_del_curso”的自定义字段(它是这样做的),最后打印出一个短代码[student course_ID=“$courseid”]HTML[/student] 该按钮是为访问该网站的任何人显示的,而不仅仅是符合产品中嵌入的课程编号学生资格的人 我猜错误在“回声”线的位置。。。我快疯了!救命啊!!!非常感谢:DPhp do_短代码:在引号之间插入变量的开始和结束标记,php,wordpress,quotes,shortcode,Php,Wordpress,Quotes,Shortcode,你能帮我修复这个代码吗? 它应该获取产品ID(它是这样做的),然后获取名为“ID_del_curso”的自定义字段(它是这样做的),最后打印出一个短代码[student course_ID=“$courseid”]HTML[/student] 该按钮是为访问该网站的任何人显示的,而不仅仅是符合产品中嵌入的课程编号学生资格的人 我猜错误在“回声”线的位置。。。我快疯了!救命啊!!!非常感谢:D <?php global $product; $postid = $product
<?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]");
?>
所以。。。我一直在努力,并这样解决:
<?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 );
?>
有没有更简单/更清晰的方法?希望它能帮助任何试图实现同样目标的人。试试:
<?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