在Wordpress的主页上显示自定义帖子类型的帖子?

时间:2014-05-19 08:47:19

标签: php wordpress-theming wordpress

所以我注册了一个名为' books'的自定义帖子类型。在Wordpress中,它工作正常。我使用该自定义帖子类型在管理员中添加了一些书籍,我现在尝试做的就是这两个中的一个:

    例如,
  • 显示我添加到' books'自定义帖子类型,在主页上
  • 显示我添加到'书籍的5个帖子'自定义帖子类型,在主页上,通过调用他们的ID-s

我对前端开发非常了解,而且我非常了解Wordpress的codex,所以我对Wordpress高级内容非常好,但我并不是PHP函数中最好的,所以我总是很难找到正确的功能来用于某些特殊任务。所以如果有人给我一个功能名称或者指向Wordpress网站上Wordpress Codex的正确页面,我可能会这样做。

有人能指出正确的方向或给我一个示例代码吗?

1 个答案:

答案 0 :(得分:2)

您应该使用以下代码创建page template

<?php
/**
 * Template Name: Page of Books
 */
?>

<?php get_header(); ?>

    <div id="container">
        <div id="content">

<?php
//post type should be books
//posts_per_page indicates how many posts you want to show
$type = 'books';
$args=array(
  'post_type' => $type,
  'post_status' => 'publish',
  'posts_per_page' => 5,
  'ignore_sticky_posts'=> 1

$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
  while ($my_query->have_posts()) : $my_query->the_post(); ?>
    <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
  endwhile;
}
wp_reset_query();  // Restore global post data stomped by the_post().
?>
        </div><!-- #content -->
    </div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

然后使用此页面模板创建页面并将其设置为主页。