私はWordPressの初心者です。動画用のカスタム投稿タイプを作成しましたが、投稿タイプをページに表示する方法がわかりません。たとえば、ユーザーがビデオを追加するときに、ビデオを公開するときにビデオ テンプレートを選択する必要がなく、公開されたビデオを開くと、ページを開く代わりにビデオ プレーヤーでページが開きます。ビデオ プレーヤーを備えたカスタム ページのようなものが必要です。ビデオ プレーヤーにビデオの URL を指定するだけで済みます。ビデオ プレーヤーのコードは既に用意されています。これどうやってするの?
質問する
47494 次
3 に答える
11
すべてのカスタム投稿タイプの投稿またはページのデフォルトのテンプレート ファイル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 で選択できるテンプレート タグ( など)がたくさんあります。the_content
于 2012-09-20T15:29:23.280 に答える
3
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;
?>
于 2013-12-01T19:40:36.037 に答える
1
CPT を作成したら、CPT の単一の投稿を表示するために次の操作を行います。
single.php
テンプレートでファイルを 複製し、名前を次のように変更しますsingle-{post_type}.php
(例:single-movie.php
)- WordPress からパーマリンクをフラッシュすることを忘れないでください。
この投稿から詳細を取得できます
CPT のリストを表示したい場合は、引数を指定してget_posts()を使用できます。
$args = array( ... 'post_type' => 'movie' )
詳細については、この投稿を確認してください。
于 2014-08-27T19:44:27.137 に答える