2013-05-13 146 views
3

我建立了自己的詞語主題,並且在爲WordPress主題選項啓動WordPress定製程序時遇到了一些麻煩。致命錯誤:找不到類'WP_Customize_Control' - WordPress

基本上我試圖創建一個textarea和我讀過的東西,我需要創建一個擴展類,然後在WordPress的add_control函數下調用它。

我已經嘗試了這一點,一切運作良好的定製模式,但只要我進入網站的任何其他部分我得到這個錯誤:

致命錯誤:類「WP_Customize_Control」未找到

由於我說它在自定義器中100%工作,但包括管理員在內的任何其他頁面我都會收到此消息。

這裏是類:

class ublxlportfolio_textarea extends WP_Customize_Control { 
    public $type = 'textarea'; 

    public function render_content() { 
     ?> 
     <label> 
     <span class="customize-control-title"><?php echo esc_html($this->label); ?></span> 
     <textarea rows="5" style="width:100%;" <?php $this->link(); ?>><?php echo esc_textarea($this->value()); ?></textarea> 
     </label> 
     <?php 
    } 
} 

我是否需要將其包裝在有條件的標籤?如果是這樣會怎麼樣?

我這樣做全錯嗎?

回答

1

發現該類需要進入註冊功能!

10

澄清@羅伯特的正確答案:

類WP_Customize_Control只加載時的主題定製是實際上可以使用。所以,你需要在綁定到'customize_register'動作的函數中定義你的類。

例子:

add_action('customize_register', 'my_customize_register'); 

function my_customize_register($wp_customize) { 

    //class definition must be within my_customie_register function 
    class ublxlportfolio_textarea extends WP_Customize_Control { ... } 

    //other stuff 
} 
+0

只要確保您將自定義控件添加到嘗試使用它。我犯了這個錯誤,一旦我發現自己的愚蠢,就不得不「面對面」。 – 2015-02-27 18:54:17

0

您需要的類定義之前,下面一行:

include_once ABSPATH . 'wp-includes/class-wp-customize-control.php'; 

我有同樣的問題,並從谷歌降落在這裏,希望這幫助別人!

相關問題