我正在尝试创建一个简单的插件来返回我的联系表单7代码,该代码在任何页面模板中都能正常工作。一切正常,除了显示联系表格的行。我认为插件是在联系表单之前加载的,或者还有其他任何我不知道的问题。这是我的代码。谢谢大家。
<?php
function contact_popup()
{
echo "
<div class='contact-popup'>
<div class='clickme-area'>
<a href='#' class='clickme' >We'd love your feedback</a>
</div>
<div class='testing'>
<div class='contact-form'>
<div class='header'>
<h2 class='title'>Leave your feedback</h2>
<a class='closeme' href='#'> X </a>
</div>
<?php do_shortcode( '[contact-form-7 id='55' title='Contact form 1']' ); ?>
</div>
</div>
</div>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script>
<link rel='stylesheet' href='http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css'>
<link rel='stylesheet' href='style.css'>
<script src='http://code.jquery.com/ui/1.10.4/jquery-ui.js'></script>
<script>
$(document).ready(function(){
$('.wpcf7-submit').click(function(){
$('.contact-popup').animate({height:'470px'}, 900);
});
});
</script>
<script>
$(document).ready(function(){
$('.closeme').click(function(){
$('.testing').hide();
$('.clickme').fadeToggle('slow');
$( '.contact-popup' ).dialog({
width: 225,
height: 31,
position: [1000,200],
show: {
effect: 'fade',
duration: 1000
},
hide: {
effect: 'fade',
duration: 1000
}
});
});
});
</script>
<script>
$(document).ready(function(){
$('.clickme').click(function(){
$('.testing').fadeToggle('slow');
$('.clickme').hide();
$( '.contact-popup' ).dialog({
width: 220,
height: 356,
position: [1000,200],
show: {
effect: 'fade',
duration: 1000
},
hide: {
effect: 'fade',
duration: 1000
}
});
});
});
</script>
<script>
$(function() {
$( '.contact-popup' ).dialog({
create: function (event, ui) {
$('.ui-widget-header').hide();
$('.testing').hide();
},
width:225,
height:36,
position: [1000,200],
dialogClass:'dialog-class',
show: {
effect: 'fade',
duration: 1000
},
hide: {
effect: 'fade',
duration: 1000
}
}).css('position','fixed');
});
</script>
";
}
?>
答案 0 :(得分:0)
您无法在echo
声明中执行php。
由于你使用双引号字符串,你可以这样做:
function contact_popup() {
$cf = do_shortcode( '[contact-form-7 id='55' title='Contact form 1']' );
echo "
...
</div>
$cg
</div>
...
";
更好的方法是使用HEREDOC语法创建字符串,并使用%%CONTACT_FORM%%
等占位符作为联系表单,然后使用str_replace
将占位符替换为$cf
变量和回声。
答案 1 :(得分:0)
为什么不将表单中的所有html样式放在联系表单中,然后执行:
<?php echo do_shortcode( '[contact-form-7 id="55" title="Contact form 1"]' ); ?>