自定义帖子列表视图:页面还是其他内容?

时间:2012-03-09 作者:redconservatory

我有一个关于为自定义帖子类型(列表和详细信息)创建视图的工作流/最佳实践问题。

目前,我将自定义帖子类型(称为“菜单项”)的“列表”视图放在一个称为“菜单”的Wordpress页面中。然后,我将自定义模板用于菜单“页面”:

<?php 
    $type = \'menu_item\'; // name of my custom post
    $args=array(
      \'post_type\' => $type,
      \'post_status\' => \'publish\',
      \'paged\' => $paged,
      \'posts_per_page\' => 5,
      \'ignore_sticky_posts\'=> 1
    );
    $temp = $wp_query;  // assign orginal query to temp variable for later use   
    $wp_query = null;
    $wp_query = new WP_Query($args); 

    if( have_posts() ) : 
        while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
                 // my custom menu item post meta stuff 
               <?php endwhile; ?>
    <?php endif; ?>
我将“detail”视图放入一个名为“single-menu\\u item.PHP”的PHP页面。

在正面,这很有效。然而,我只是想知道是否还有其他方法可以做到这一点,因为我看到了一些非直觉的事情:

我的用户进入一个名为“菜单项”的顶级菜单项,但随后内容会显示在Wordpress页面上(他们基本上不会触摸该页面)。我是否只是对使用权限的用户“隐藏”此页面,如果是这样,是否有人可以为我指出正确的方向,告诉我如何执行此操作??

有时在网站上,我只需要显示自定义帖子的列表视图,而不需要显示“详细信息”视图。。。因此,我没有为那个特定的自定义帖子构建一个查看页面(假设我创建了另一个自定义帖子类型,称为“菜单项”以外的内容)。所以当用户点击“视图”时,因为我没有为该帖子创建一个合适的单一视图,他们会跳转到默认视图,而默认视图可能根本没有正确的格式?

我很想知道其他人是如何处理这些问题的(或者他们是否为此而烦恼)。。。

1 个回复
SO网友:sanchothefat

对于自定义帖子类型中项目的主视图,您根本不需要使用页面模板。

创建一个名为archive-post_type_name.php 包含该帖子类型的循环。注册帖子类型时,请设置has_archive 您希望帖子显示在“菜单”上的URL slug的值,然后浏览到http://yoursite.com/menu/ 查看post类型存档。

如果你不想让人们自己进入帖子类型页面,最简单的方法就是在模板中去掉永久链接。

结束

相关推荐

wp-admin page is blank

我的wp管理页面有问题,它只是显示为空白。我很确定这与我的功能有关。php文件顶部或底部没有空格,但当我完全删除它时,wp admin文件夹再次工作。下面是函数。php文件<?php add_action(\"manage_posts_custom_column\", \"booktime_custom_columns\"); add_filter(\"manage_edit-booktime_columns\", \"booktime_edit_columns\");&