这就是全部代码→
<script>
jQuery.noConflict();
jQuery(document).ready(function()
{
jQuery(\'#mailchimp_submit-<?php echo $random?>\').click(function()
{
jQuery(\'#process-<?php echo $random?>\').css(\'display\',\'block\');
var datastring = \'&name=\' + escape(jQuery(\'#name-<?php echo $random?>\').val()) + \'&email=\' + escape(jQuery(\'#email-<?php echo $random?>\').val()) + \'&api_key=<?php echo $mailchimp_api_key;?>&list_id=<?php echo $mailchimp_list_id;?>\';
jQuery.ajax({
url: \'<?php echo rest_url(\'/chimp/rest/process_chimp/\');?>\',
data: datastring,
success: function(msg)
{
jQuery(\'#process-<?php echo $random?>\').css(\'display\',\'none\');
jQuery(\'#newsletter_msg-<?php echo $random?>\').html(msg);
},
error: function(msg)
{
jQuery(\'#process-<?php echo $random?>\').css(\'display\',\'none\');
jQuery(\'#newsletter_msg-<?php echo $random?>\').html(msg);
}
});
return false;
});
});
</script>
有很多困惑:
1个→
如何处理此问题,因为它有分号→
jQuery.noConflict();
我应该这样做吗:
$output = \'jQuery.noConflict();\';
或
$output = \'jQuery.noConflict()\';
或
$output = \'jQuery.noConflict();
\'
2→
如何处理具有功能的→
jQuery(document).ready(function()
像这样→
$output = \'jQuery(document).ready(function()\';
如何处理此问题→
4→
jQuery.ajax({
url: \'<?php echo rest_url(\'/chimp/rest/process_chimp/\');?>\',
data: datastring,
success: function(msg)
{
5→
return false;
以上内容是否也需要修改?
请指导我哪里做错了,哪里的方法和理解不正确。This is an Extension of this old question.
以上所有代码都是我试图转换为短代码的小部件的一部分。
最合适的回答,由SO网友:Jacob Peattie 整理而成
对于大量HTML,最好使用输出缓冲ob_start()
和ob_get_clean()
. 它的文档是here, 但简短的版本是,它允许您捕获输出以稍后返回。这样,您就可以像在模板中一样输出HTML,但捕获HTML并在最后返回:
function wpse_279827_shortcode() {
// Do PHP stuff.
$message = \'Hello world!\';
// Start capturing output.
ob_start();
// Close PHP tags and start outputting HTML.
?>
<div>
<h1>HTML can go here</h1>
<p>And also php code:</p>
<p><?php echo \'Hello!\'; ?></p>
</div>
<script>
jQuery(document).ready(function() {
alert(\'Message variable from PHP: <?php echo $message; ?>\');
});
</script>
<?php
// Reopen PHP tags and return captured output.
return ob_get_clean();
}
add_shortcode( \'wpse_279827_shortcode\', \'wpse_279827_shortcode\' );