2017-09-02 32 views
0

我的插件製作了一個交互式圖像,我想通過iframe分享它。有沒有一種正確的方式來實現一個wordpress插件的獨特url的特殊頁面。目前我使用頁面模板,但它並不那麼友好。 我想要類似 www.site.com/myplugin/id=123 & param = 123 - 向我顯示一個特殊頁面,用於呈現我的插件在前端。WordPress插件專頁

回答

1

您可以掛接到parse_request行動WordPress的呈現之前的任何頁面,如下所示:

function so_46014733($query) { 
    if (
     isset($_GET['id']) 
     && isset($_GET['param']) && 
     '123' === $_GET['id'] && 
     '123' === $_GET['param'] 
    ) { 
     include_once 'my_custom_page.html'; 
     exit; 
    } 
    return $query; 
} 
add_action('parse_request', 'so_46014733'); 

有幾件事情需要注意:

  • 如果這將立即返回默認$queryidparam是空的(對此檢查幾乎沒有性能影響)。
  • 這假設你想要渲染自己的HTML頁面(或者甚至包含自己的代碼的PHP頁面),如果idparam匹配你的密鑰。
  • 如果你打算使用$_GET變量什麼,請務必先清理它們像這樣:

    $id = absint(wp_unslash($_GET['id']));

+0

感謝答案,我將測試這種方式。 – Avirtum