2012-11-08 126 views
1

思考詢問wordpress的答案,但他們會告訴我這是一個「插件」。如果你不同意,然後隨意將它傳遞給他們。腳本與管理插件的衝突

我在我的functions.php中使用這段代碼,當用戶點擊新帖子按鈕時,它提供了可用類別的下拉菜單。這迫使他們在創建新空白文章之前選擇一個類別。

問題是我收到「無效的帖子類型」錯誤,並將其追溯到名爲「adminimizer」的插件。

新郵從來沒有被創建,地址欄卡住在mysite.com/wp-admin/post-new.php?category_id%5B%5D=4 &繼續=繼續& post_type =(應該說「後「類型= ..我得到一個錯誤框中說」無效的帖子類型「

我很想聽聽任何想法,爲什麼我的腳本可能不完成下面是我使用的代碼:

//ADD DROPDOWN MENU TO CHOOSE NEW POST CATEGORY (CHOOSE THE CAT ID’S YOU WANT TO APPEAR) 
add_filter('load-post-new.php', 'wpse14403_load_post_new'); 
function wpse14403_load_post_new() 
{ 
$post_type = 'post'; 
if (isset($_REQUEST['post_type'])) { 
    $post_type = $_REQUEST['post_type']; 
} 

// Only do this for posts 
if ('post' != $post_type) { 
    return; 
} 

if (array_key_exists('category_id', $_REQUEST)) { 
    add_action('wp_insert_post', 'wpse14403_wp_insert_post'); 
    return; 
} 

// Show intermediate screen 
extract($GLOBALS); 
$post_type_object = get_post_type_object($post_type); 
$title = $post_type_object->labels->add_new_item; 

include(ABSPATH . 'wp-admin/admin-header.php'); 

$dropdown = wp_dropdown_categories(array(

'orderby'   => 'name', 
'include' => '3, 4', 
    'name' => 'category_id[]', 
    'hide_empty' => false, 
    'echo' => false, 
)); 

$category_label = __('Create New'); 
$continue_label = __('Continue'); 
echo <<<HTML 
<div class="wrap"> 

<h2>{$title}</h2> 

<form method="get"> 
    <table class="orange"> 
     <tbody> 
      <tr valign="top"> 
       <th scope="row">{$category_label}</th> 
       <td>{$dropdown}</td> 
      </tr> 
      <tr> 
       <td></td> 
       <th><input name="continue" type="submit" class="button-primary" value=" {$continue_label}" /></th> 
     </tbody> 
    </table> 
    <input type="hidden" name="post_type" value="{$post_type}" /> 
    </form> 
</div> 
HTML; 
include(ABSPATH . 'wp-admin/admin-footer.php'); 
exit(); 
} 

// This function will only be called when creating an empty post, 
// via `get_default_post_to_edit()`, called in post-new.php 
function wpse14403_wp_insert_post($post_id) 
{ 
wp_set_post_categories($post_id, $_REQUEST['category_id']); 
} 

UPDATE /更多的信息。在進一步的調查,我改了一下我對從隱藏到文本的結束碼。這揭示了一個輸入字段通常會自動填充帖子類型「帖子」。管理插件似乎可以防止這種情況發生,即使我沒有設置它來隱藏任何東西?

<input type="text" name="post_type" value="{$post_type}" /> 

我想最簡單的辦法將只是不使用adminimizer插件,但它是非常有用的,讓事情變得簡單了新的網站所有者。我已經向插件作者詢問了這個問題,但是不要期望能很快得到答案 - 謝謝

+0

得到的答案:事實證明,插件作者(弗蘭克)提供了很大的支持。他發現這條線存在問題,並簡單地評論說。現在一切正常如預期:) // extract($ GLOBALS); – user22537

回答

0

事實證明,插件作者(Frank)提供了很好的支持。他發現這條線&有問題,只是簡單地評論了一下。現在一切正常如預期:)

//extract($GLOBALS); 
+0

是的,偉大的插件,偉大的作者:) – brasofilo