2012-11-08 89 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