簡體   English   中英

Wordpress插件可返回頁面的PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM