2012-02-01 101 views
0

我想添加一個自定義菜單頁面(在外觀下)到一個自定義的WordPress主題,但是我的鉤子出了問題。我得到的錯誤是:試圖添加一個自定義菜單頁面到我的WordPress主題

*警告:無法修改標頭信息 - 標頭已經發送(輸出開始於/home3/keganqui/public_html/optimus/wp-content/themes/optimus/functions.php:2 )in /home3/keganqui/public_html/optimus/wp-admin/theme-editor.php on line 103 *

我的主題選項出現在每一個頁面上,全網站(不只是後端)。出於某種原因,該標籤被剝奪的所有內容和體

<body> 
<div id="wrap">HTML FOR MY THEME OPTIONS</div> 
<title>page title</title> 
...all other info that should be in <head> 

開始我不知道我做了很好地解釋了這一點,所以檢查出www.keganquimby.com/optimus(即醜陋的灰色盒子是我的主題選項)

+0

在第2行檢查'wp-content/themes/optimus/functions.php'。有一些輸出到瀏覽器,它不應該在那裏。 – Cheery 2012-02-01 02:36:17

+0

下面的迴應工作:) – 2012-02-01 02:45:03

回答

1
add_action('admin_init', 'theme_options_init'); 
add_action('admin_menu', 'theme_options_add_page'); 

function theme_options_init() { 
    register_setting('theme_options', 'mytheme_theme_options', 'theme_options_validate'); 
} 

function theme_options_add_page() { 
    $page = add_theme_page(__('Theme Options', 'mytheme'), __('Theme Options', 'mytheme'), 'edit_theme_options', 'theme_options', 'theme_options_do_page'); 
    add_action('admin_print_styles-'.$page, 'theme_options_js'); 
} 

function theme_options_js() { 
    // whatever js you need... 
    wp_enqueue_script('jquery-ui-core'); 
} 

function theme_options_validate($input) { 
    $input['sometextarea'] = wp_filter_post_kses($input['sometextarea']); 
    return $input; 
} 

function theme_options_do_page() { 

    if (!isset($_REQUEST['settings-updated'])) { 
     $_REQUEST['settings-updated'] = false; 
    } 

    ?><div> 

    your theme options page 

    </div><?php 

} 
+0

我如何獲得設置保存?出於某種原因,格式是正確的,但是當我改變一個設置它不是保存。 – 2012-02-01 13:23:22

相關問題