2017-03-10 34 views
0

我是WordPress插件開發的新手。我試圖用插件樣板爲學習目的創建一個簡單的插件。WordPress插件:公開視圖與寫作url

我想創建一個「聯繫表單」,該視圖將位於/wp-content/plugins/contact-form/public/partials/contact-form-public-display.php。我想用http://localhost/contact-form/訪問它。

我班類接觸外形public.php:

function init_internal_rewriting() 
{ 
    add_rewrite_rule('contact-form$', '?page=contact-form', 'top'); 
} 

function rewriting_query_vars($query_vars) 
{ 
    $query_vars[] = 'page'; 
    return $query_vars; 
} 

function rewriting_parse_request(&$wp) 
{ 
    if (array_key_exists('page', $wp->query_vars)) { 
     $this->display_plugin_page(); 
     exit(); 
    } 
    return; 
} 

public function display_plugin_page() { 
    include_once('partials/contact-form-public-display.php'); 
} 

當我掛鉤的功能:

// Rewriting URL 
    $this->loader->add_action('init', $plugin_public, 'init_internal_rewriting'); 
    $this->loader->add_action('parse_request', $plugin_public, 'rewriting_parse_request'); 
    $this->loader->add_filter('query_vars', $plugin_public, 'rewriting_query_vars'); 

但我不能訪問CSS和JS。

有人有想法讓它更清晰嗎?能夠在我的前端網站上訪問我的「公共」部分。

謝謝你的幫助。

回答

0

爲聯繫表單創建一個簡短代碼。並通過短代碼到頁面內容部分。 檢查下面的鏈接如何創建wordpress短代碼。 https://codex.wordpress.org/Function_Reference/add_shortcode

+0

謝謝你的解決方案,但我必須避免創建短代碼。一切都必須由我的插件本身處理。這實際上讓我感到困擾〜 –

+0

@QuentinBouvier短代碼將在您的插件本身中定義。 –

+0

嗯,是的,但我不能手動添加短代碼。或者也許有辦法創建一個虛擬頁面,我可以把這個簡碼。 –