[英]Wordpress plugin to return PHP for pages
我一直遇到一個問題,那就是要使用一條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,但是當類型為null時,事情會變得有趣,例如
<?php echo display(); ?>
這將返回以下內容
<!--?php echo do_shortcode[contact-form-7 id='7' title='Campaign monitor']');?-->
直接將我的PHP注釋掉,我無法采取任何措施使其正常工作。
雖然,我確實知道這樣做不是最佳方法(通過返回原始php),但我沒有其他方法可以做到。
反正有什么要克服的問題?
我嘗試了EXEC-PHP插件以及Posts and Pages插件的PHP代碼。
嘗試此操作,因為它有助於減少代碼,並使功能更清晰。 假定如果上面未列出設備類型,則您要顯示默認情況。 假設如果未列出您的設備(在這種情況下為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;
}
}
?>
不太確定您想要的效果是什么,但是您正在從do_shortcode中將字符串保存到html中。 我假設您將雙引號內的php解析變量與要解析的函數混淆了。 不是這樣 這應該是您想要的。
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.