Is_pageのドキュメントによれば、スラッグを引数WPとして指定すると、現在のページがスラッグで表されるページかどうかを知ることができます。おそらく私は間違ったナメクジを使っていますか?ただし、rewrite引数で使用されているパスと、 "slug"と見なされるビット、つまりCPTの登録に使用されている要素の両方を試してみました。
理解してもらうために、以下のコードスニペットを見つけてください。
'rewrite' => array( 'slug' => 'faqs/archivio' )
);
register_post_type( 'faqs', $args );
私はこれをカスタム投稿タイプに使用されているスラグを使ってやりましたが、私はこれを機能させることができませんでした。
それで2つの質問?
ありがとうAndrea
カスタム投稿タイプの作成では、定義内に投稿タイプがあります。ページのみのデフォルト投稿タイプでもあります。カスタム投稿タイプを登録する場合は、ページではなく、この投稿タイプを確認してください。
is_singular
機能、コンディショナルタグ is_singular()
主な目的は、特異な投稿を表示しているかどうかを確認することです。ただし、次のコードスニペットに示すように、$post_type
パラメータを入力して、特定の投稿タイプの特異な投稿を表示しているかどうかを確認するためにも使用できます。
is_singular( 'your_custom_post_type' );
または異なる投稿タイプ
is_singular( array( 'your_custom_post_type_1', 'your_custom_post_type_2' ) );
このコンテキストでトピックをデバッグするには、プラグイン デバッグオブジェクト を使用します。たぶんこれはあなたにとっても役立つでしょう、しばしばコードやコーデックスを読むのと同じくらい簡単です。次のプラグインのスクリーンショット、条件付きタグの結果を参照してください。CPTにis_page()
とis_single()
を含めます。
このようにして、さまざまなタイプの投稿のsingle.phpファイルをルーティングすることができます。
私はsingle-product.phpとsingle-blogs.phpという名前の2つのsingle.phpファイルを持っています。
今single.phpファイルで私はカスタム投稿タイプに基づいて異なる投稿をリダイレクトするために私の下のコードを書いた
if (get_post_type('product'))
{
include (TEMPLATEPATH . '/single-product.php');
}
else
{
include (TEMPLATEPATH . '/single-blogs.php');
}
または
if (is_singular('product'))
{
include (TEMPLATEPATH . '/single-product.php');
}
else
{
include (TEMPLATEPATH . '/single-blogs.php');
}