我正在尝试定义html $result_html="";
的块以在短代码中使用,如下所示:
[ms-protect-content id="7001"]' . $result_html . '[/ms-protect-content]
我正在尝试将以下html定义为$ result_html:
<p>
<input type="hidden" name="product_id" value="<?php echo $post->ID; ?>" />
<input type="submit" id="send_product_enquiry" value="<?php _e( 'Send Enquiry', 'wc_enquiry_form' ); ?>" class="button" />
</p>
<?php do_action( 'product_enquiry_after_form' ); ?>
我在引号内正确写引号时遇到了问题。
我知道我应该在引号之前添加一个反斜杠\
来逃避它们,但在这种情况下,它只是让我对PHP的理解感到困惑。
我的代码目前看起来像我的更正:
$result_html='
<p>
<input type="hidden" name="product_id" value="<?php echo $post->ID; ?>" />
<input type="submit" id="send_product_enquiry" value="<?php _e( \'Send Enquiry\', \'wc_enquiry_form\' ); ?>" class="button" />
</p>
<?php do_action( \'product_enquiry_after_form\' ); ?>
';
根据Dreamweaver,没有错误,但是当呈现代码时,它不正确,<?php echo $post->ID; ?>
没有通过,但我无法找到我的错误。
有人可以纠正我,谢谢
顺便说一句,我从$result_html="";
(双引号)更改为$result_html='';
(单引号),不确定它是否正常
答案 0 :(得分:1)
你似乎对php中的引用是如何工作的基本缺乏理解。您没有理由在单引号内部使用php开始和结束标记!
让我知道这是如何运作的。
$result_html='
<p>
<input type="hidden" name="product_id" value="' .$post->ID . '" />
<input type="submit" id="send_product_enquiry" value="' . _e( 'Send Enquiry', 'wc_enquiry_form' ) . '" class="button" />
</p>' . do_action( 'product_enquiry_after_form' );