将自定义帖子类型分配给自定义页面

时间:2014-07-15 作者:user1888564

我正在尝试向名为slides(admin.php?page=slides)的自定义页面添加自定义帖子类型,但它不想工作。这是我第一次尝试使用页面的技术插件。自定义页面创建得很好,但是当我包含生成自定义帖子类型的函数时,它不会加载到视图中。我的页面生成代码为:

add_submenu_page(\'slideroo\', 
    \'Slides\', \'Slides\', \'manage_options\', 
    \'sliderama-slides\', \'slides_page\'); 
我注册帖子类型的功能是:

function slides_page()
 {
$labels = array(
    \'name\' => _x(\'My Slides\', \'post type general name\'),
    \'singular_name\' => _x(\'Slide Item\', \'post type singular name\'),
    \'add_new\' => _x(\'Add New\', \'Slide item\'),
    \'add_new_item\' => __(\'Add New Slide Item\'),
    \'edit_item\' => __(\'Edit Slide Item\'),
    \'new_item\' => __(\'New Slide Item\'),
    \'view_item\' => __(\'View Slide Item\'),
    \'search_items\' => __(\'Search Slide\'),
    \'not_found\' =>  __(\'Nothing found\'),
    \'not_found_in_trash\' => __(\'Nothing found in Trash\'),
    \'parent_item_colon\' => \'\'
);

$args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'publicly_queryable\' => true,
    \'show_ui\' => true,
    \'query_var\' => true,
    \'menu_icon\' => null,
    \'rewrite\' => true,
    \'capability_type\' => \'post\',
    \'hierarchical\' => false,
    \'menu_position\' => null,
    \'supports\' => array(\'title\',\'editor\',\'thumbnail\')
  ); 

register_post_type( \'slideroo\' , $args );
谢谢

2 个回复
最合适的回答,由SO网友:Laxmana 整理而成

您误解了add\\u submenu\\u页面的用途及其回调函数。

如果你看一下Wordpress Codex,你会发现这个功能的目的,在你的例子中,slides\\u page功能,就是输出页面的内容。ie输出HTML代码等

$function
(callback) (optional) The function to be called to output the content for this page.
Default:

http://codex.wordpress.org/Function_Reference/add_submenu_page

您必须将表示与插件的逻辑分离。

当用户使用激活插件时,您可以注册自定义帖子register_activation_hook

SO网友:user3571316

我认为您需要的是:为自定义页面“幻灯片”创建模板在该模板内,使用WP\\u Query调用自定义帖子类型。像这样:

<?php $loop = new WP_Query( array( \'post_type\' => \'slideroo\', \'posts_per_page\' => -1 ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); $do_not_duplicate = $post->ID; ?>
  // Posts format here
<?php endwhile; ?>
不确定这是否是你真正需要的。

结束

相关推荐

How can I find plugins' slug?

我想知道如何才能找到插件的slug(slug=WordPress用来更新插件和确定哪些插件当前处于活动状态的内部名称)?它通常是插件的文件夹名,但如果插件没有文件夹,则是其文件名(如hello.php)。是否有其他例外情况?大小写字符重要吗</插件的slug是否可以与其文件夹名不同?如果有一个叫做hello的插件呢。php和另一个/您好。php/您好。php