Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建页面模板以显示自定义帖子类型_Php_Wordpress_Custom Post Type - Fatal编程技术网

Php 如何创建页面模板以显示自定义帖子类型

Php 如何创建页面模板以显示自定义帖子类型,php,wordpress,custom-post-type,Php,Wordpress,Custom Post Type,我想创建一个页面模板文件来显示自定义内容类型的文章。事实上,我有3种不同类型的文章类型“书籍”、“作者”和新闻。 这是我的问题,这3个帖子类型有不同的模板,我想在单独的页面中显示每个主题,第一个问题,我应该在page.php还是single.php中调用这些帖子类型?我已经知道single.php用于动态内容,page.php用于静态内容,我应该创建什么来显示这些帖子类型的内容? 以下是一个例子: 我创建page-author.php文件来显示作者的文章类型 这是我的密码 <?php /*

我想创建一个页面模板文件来显示自定义内容类型的文章。事实上,我有3种不同类型的文章类型“书籍”、“作者”和新闻。 这是我的问题,这3个帖子类型有不同的模板,我想在单独的页面中显示每个主题,第一个问题,我应该在page.php还是single.php中调用这些帖子类型?我已经知道single.php用于动态内容,page.php用于静态内容,我应该创建什么来显示这些帖子类型的内容? 以下是一个例子: 我创建page-author.php文件来显示作者的文章类型 这是我的密码

<?php /* Template Name: author-page-theme */ 
    get_header(); ?>
<div class="head-style col-md-12 col-sm-12 col-xs-12">
    <?php while ( have_posts() ) : the_post(); ?>
    <div class="title-pack col-md-12 col-sm-12 col-xs-12">
        <span class="line visible-sm-block"></span>
        <span class="visible-sm-block tittle-style"><?php the_title(); ?></span>
    </div>
    <div class="row writer-crit">
        <div class="writer-crit-box col-md-9 col-sm-8 col-xs-12">
            <div class="col-md-11 col-sm-11 col-xs-12">
                <?php $args = array( 'post_type' => 'Author', 'posts_per_page' => 5 ); 
                $loop = new WP_Query( $args );
                while ( $loop->have_posts() ) : $loop->the_post(); ?>
                    <a class="writer-link col-md-12 col-sm-12 col-xs-12" href="<?php post_permalink(); ?>">
                        <div class="writer-row1 col-md-12 col-sm-12 col-xs-12">
                            <div class="col-md-2 col-sm-3 col-xs-12 image-right">
                                <?php the_post_thumbnail(array('class' => 'img-responsive')); ?>
                            </div>
                            <div class="col-md-10 col-xs-12 col-sm-9 col-xs-12 pull-right writer-content">
                                <h3><?php the_title(); ?></h3>
                                <?php if ( get_field('auth-trans') ) { 
                                    echo '<h4>'.get_field('auth-trans').'</h4>';} ?>    
                                <?php if ( get_field('writer-bio') ) { 
                                    echo '<p>'.get_field('writer-bio').'</p>';} ?>

                                <span>...</span>
                            </div>
                        </div>
                    </a>
                <?php endwhile; // End of the loop. ?>                                              
            </div>
        </div>
    <?php endwhile; // End of the loop. ?>
    </div>  
<?php get_footer(); ?> 

但它不起作用。它只显示索引页面模板,而不是我为此页面创建的模板。 关于如何让这篇文章出现有什么建议吗?
我对WordPress完全陌生,这是我的第一个项目,所以我真的需要帮助。

你需要从管理员创建一个页面,并从显示“页面模板”的下拉框中选择模板“作者页面主题”。要在前端显示,请转到外观->菜单。然后选择相应的菜单。然后将新创建的页面拖动到所选菜单

$args = array(

    'posts_per_page'   => 5,
    'offset'           => 0,
    'category'         => '',
    'category_name'    => '',
    'orderby'          => 'date',
    'order'            => 'DESC',
    'include'          => '',
    'exclude'          => '',
    'meta_key'         => '',
    'meta_value'       => '',
    'post_type'        => 'Author',
    'post_mime_type'   => '',
    'post_parent'      => '',
    'author'       => '',
    'author_name'      => '',
    'post_status'      => 'publish',
    'suppress_filters' => true 
);

$posts_array = get_posts( $args );
然后
var\u dump($posts\u数组)


另外,请检查您输入的
post\u type
是否正确。

您可以查看此处描述的自定义post type模板:

@Prabin Parajuli您能帮我解决这个问题吗?我以前做过,但它不起作用。我想是因为它是动态的,不应该在页面上显示。