web-dev-qa-db-ja.com

配列内でワードプレスのテンプレートタグを使用する

ちょっとnoob PHP質問が出ています。

カスタム投稿タイプ用の汎用アーカイブスタイルビューを作成しようとしています。理想的には、すべての投稿タイプに使用できる1つの汎用テンプレートを作成したいです。

現在私はこれを私のhave_postsクエリとして 'custom-post-type'の全ての投稿を取り込んでいます。

<?php
 $args=array(
   'post_type' => 'custom-post-type.',
   'post_status' => 'publish',
   'posts_per_page' => -1,
   'caller_get_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(); 
?>

私がやりたいことは、このテンプレートがページに割り当てられるときはいつでも、その名前のcustom-post-typeを探してそれらをリストするように、custom-post-typeをページのスラッグと交換することです。

代わりにあなたがそれを行うより良い方法を知っているなら - 素晴らしい!

歓声、ジョージ

1
George Wiscombe

@Rarstが前のコメントで述べたように、これはWP3.1で修正される予定です。

テンプレートの階層は "archive-customposttypename.php"です。

WordPress 3.1のテンプレート階層

1
George Wiscombe

これを試して:

$page = $wp_query->get_queried_object();
$slug = $page->post_name;

PS次のWPリリースでは、適切なカスタム投稿アーカイブまたはその周辺の何かが手に入ると思います...

1
Rarst