私はWordpressをインストールしています。私のサイトには約 3 つのカスタム投稿タイプがあります。検索を行うと、すべての投稿タイプの結果がフロント エンドの 1 ページに表示されます。一部の投稿タイプは他のコンテンツとはまったく異なるため、結果は少しおかしく見えます.
投稿タイプに応じて結果をタブに分割する方法はありますか? 結果を現在の状態 (すべての結果) のままデフォルトのままにしたいのですが、右側のタブで、属する投稿の種類に応じてさまざまな結果を除外します。
私がやろうとしていることを正確に説明するために、ここで jpeg を作成しました。
ありがとう
http://f.cl.ly/items/110S2K1A0T3m290Y0C14/Filter_post_Types.jpg
更新 1: コード側にもう少し情報を追加したかっただけです
ショートコードをタブとして使用する予定でした
[tabs]
[tab]All Search Results[/tab]
[tab]Post Type 1 Results[/tab]
[tab]Post Type 1 Results[/tab]
[tab]Post Type 1 Results[/tab]
[tab]
またはPHPテンプレートで私もそれを行うことができます
<?php
echo do_shortcode('[tabs style="boxed" id="searchTabs"]
[tab title="Post Type 1"]Post Type 1 Results[/tab]
[tab title="Post Type 2"]Post Type 2 Results[/tab]
[tab title="Post Type 3"]Post Type 3 Results[/tab]
[/tabs]');
?>
ここに私を助けることができる何かがあると思っていますが、それを実装する方法がわかりませんhttp://codex.wordpress.org/Template_Tags/get_posts
更新 2: 別のフォーラムで受け取った他のアドバイスは、このようなコードを試すことですが、ここにある検索テンプレート php に正しく実装できないようですhttp://pastie.org/4248751
提案されたコードは
<?php
$the_slug = 'my_slug';
$args=array(
'name' => $the_slug,
'post_type' => 'custom_post_Type_1',
'post_status' => 'publish',
'numberposts' => 1
);
$my_posts = get_posts($args);
$the_slug2 = 'my_slug2';
$args2=array(
'name' => $the_slug2,
'post_type' => 'custom_post_Type_2',
'post_status' => 'publish',
'numberposts' => 1
);
$my_posts2 = get_posts($args2);
echo do_shortcode('[tabs style="boxed" id="searchTabs"]
[tab title="Post Type 1"]
<?php //This code is for first post type
foreach( $myposts as $post ) : setup_postdata($post); ?>
<li><a>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
[/tab]
[tab title="Post Type 2"]
<?php //This code is for second post type
foreach( $myposts2 as $post ) : setup_postdata($post); ?>
<li><a>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
[/tab]
[/tabs]');
?>