2012-09-20 298 views
2

我是WordPress的新手。我爲視頻創建了自定義帖子類型,但我不知道如何在頁面中顯示帖子類型。例如,我希望當用戶添加視頻時,他不必在發佈視頻時選擇視頻模板,並且在他們打開已發佈的視頻時,頁面會以視頻播放器打開,而不是打開頁面。我想要一個像視頻播放器一樣的自定義頁面,我只需要爲視頻播放器提供視頻的網址。已經有視頻播放器的代碼。我怎樣才能做到這一點?Wordpress顯示自定義帖子類型

回答

5

爲了使默認template file你所有的自定義後類型的文章或網頁,你能說出你的模板文件single-{your-cpt-name-here}.phparchive-{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(); 
?> 

在類似的例子自定義環以上,有很多可用的template tags(如the_content)在Wordpress中選擇。

+0

酷!有用。謝啦。 – sammyukavi

1

編寫代碼的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; 

?>

1

您創建的CPT後,做這顯示您的彩管的單個職位:

  • 複製的single.php文件在你的模板,並像 single-{post_type}.php將其重命名(例如: single-movie.php
  • 記得刷新WordPress的永久鏈接!

您可以從this post

  • 得到更多的細節現在,如果你想顯示CPT的列表,你可以使用get_posts()與ARGS:

    $args = array( ... 'post_type' => 'movie' )

檢查this post瞭解更多詳情。

相關問題