思考詢問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插件,但它是非常有用的,讓事情變得簡單了新的網站所有者。我已經向插件作者詢問了這個問題,但是不要期望能很快得到答案 - 謝謝
得到的答案:事實證明,插件作者(弗蘭克)提供了很大的支持。他發現這條線存在問題,並簡單地評論說。現在一切正常如預期:) // extract($ GLOBALS); – user22537