Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
Wordpress显示自定义帖子类型_Wordpress_Wordpress Theming_Custom Post Type - Fatal编程技术网

Wordpress显示自定义帖子类型

Wordpress显示自定义帖子类型,wordpress,wordpress-theming,custom-post-type,Wordpress,Wordpress Theming,Custom Post Type,我是WordPress的新手。我已经为视频创建了自定义帖子类型,但我不知道如何在页面中显示帖子类型。例如,我希望当用户添加视频时,发布视频时不必选择视频模板,当他们打开发布的视频时,页面将使用视频播放器打开,而不是打开页面。我想要一个像视频播放器的定制页面,我所要做的就是给视频播放器视频的url。已经有视频播放器的代码。我该怎么做呢?要为所有自定义帖子类型的帖子或页面设置默认的,您可以将模板文件命名为single-{your cpt name here}.php或archive-{your cp

我是WordPress的新手。我已经为视频创建了自定义帖子类型,但我不知道如何在页面中显示帖子类型。例如,我希望当用户添加视频时,发布视频时不必选择视频模板,当他们打开发布的视频时,页面将使用视频播放器打开,而不是打开页面。我想要一个像视频播放器的定制页面,我所要做的就是给视频播放器视频的url。已经有视频播放器的代码。我该怎么做呢?

要为所有自定义帖子类型的帖子或页面设置默认的,您可以将模板文件命名为
single-{your cpt name here}.php
archive-{your cpt name here}.php
,并且在查看这些帖子或页面时它将始终默认为这个名称

因此,例如在
single video.php
中,您可以放置:

<?php query_posts( 'post_type=my_post_type' ); ?>

或者进行自定义查询以形成所需的输出:

<?php
$args = array(
    'post_type' => 'my_post_type',
    'post_status' => 'publish',
    'posts_per_page' => -1
);
$posts = new WP_Query( $args );
if ( $posts -> have_posts() ) {
    while ( $posts -> have_posts() ) {

        the_content();
        // Or your video player code here

    }
}
wp_reset_query();
?>


在您的自定义循环(如上面的示例)中,有许多可用的(如Wordpress中的
内容
)可供选择。

在Functions.php中编写代码

    function create_post_type() {
    register_post_type( 'Movies',
    array(
        'labels' => array(
            'name' => __( 'Movies' ),
            'singular_name' => __( 'Movie' )
        ),
        'public' => true,
        'has_archive' => true,
        'rewrite' => array('slug' => 'Movies'),
    )
);
现在在您想要显示的地方编写此代码

    <?php
    $args = array( 'post_type' => 'Movies', 'posts_per_page' => 10 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
    the_title();
    echo '<div class="entry-content">';
    the_content();
    echo '</div>';
    endwhile;

创建CPT后,执行以下操作以显示CPT的单个帖子:

  • 复制模板中的
    single.php
    文件,并将其重命名为
    single-{post_type}.php
    (例如
    single movie.php
  • 记住从WordPress刷新永久链接
您可以从以下网站获得更多详细信息:

  • 现在,如果要显示可与args一起使用的CPT列表:

    $args=array(
    ...
    “post_type”=>“电影”
    )

查看更多详细信息