我在使用一个PHP语句与WordPress一起工作时遇到了问题 基本上,我想要的是:
现在我已经成功地完成了大部分工作,但是当我尝试将PHP代码从我的插件返回到wordpress时,它会立即被注释掉。
这是我正在使用的函数的代码。
function display($type, $status) {
$html ='';
if($type == null) {
$html = "<?php echo do_shortcode[contact-form-7 id='7' title='Campaign monitor']');?>";
}else if($type == "ios") {
if ($status == "y")
$html = "IOS";
}else if($type == "android") {
if ($status == "y")
$html = "ANDROID";
}
echo $html;
}
因此,您可以看到取决于所选择的内容,例如
<?php echo display(ios, y); ?>
它在我的网站上显示IOS,但是当类型为空时,事情会变得有趣,例如
<?php echo display(); ?>
返回以下内容
<!--?php echo do_shortcode[contact-form-7 id='7' title='Campaign monitor']');?-->
Straightaway我的PHP被注释掉了,我无法做任何事情让它运转起来 虽然,我确实理解这不是最好的做法(通过返回原始的PHP)我没有其他办法做到这一点。
无论如何都要克服这个问题吗? 我已经尝试过EXEC-PHP插件以及用于帖子和页面插件的PHP代码。
答案 0 :(得分:1)
试试这个,因为它有助于减少代码,并帮助功能更清晰。它假定如果上面未列出设备类型,则表示您要显示默认情况。它假设如果你的设备没有列出,在这种情况下,除了android和ios之外,它应该显示默认情况,这是你的CF7短代码。如果您想指定其他选项,则需要完成上述“默认”。正如其他地方的评论所述,这是PHP,所以它是服务器端处理..
<?php
function display($type, $status){
switch ($type){
case "ios":
$html = "IOS";
break;
case "android":
$html = "Android";
break;
default:
$html = "do_shortcode[contact-form-7 id='7' title='Campaign monitor']";
break;
}
if($status == "active"){
echo $html;
}
}
?>
答案 1 :(得分:1)
不确定你想要的效果是什么,但你是从do_shortcode中将字符串保存到html中。我假设你正在混淆php解析双引号内的变量与正在解析的函数。不是这样。这应该是你正在寻找的。 p>
function display($type, $status) {
$html ='';
if($type == null) {
$html = do_shortcode('[contact-form-7 id="7" title="Campaign monitor" ]');
}else if($type == "ios") {
if ($status == "y")
$html = "IOS";
}else if($type == "android") {
if ($status == "y")
$html = "ANDROID";
}
echo $html;
}