ページ内に複数の投稿を手動で取得することもできますが、デフォルトのクエリが別のものを返した後は、テンプレートで生成されます(page/postなど)。
分類法などを共有していない、パブリッククエリで複数の投稿をどのようにクエリするのですか。
例えばIDで:
http://example.com/?p=23,18,2,199,6,8
Page-name.phpテンプレートの変数をすでに解析していますが、テンプレートを取得すると生成するには遅すぎます。規範。
検索は1対複数の投稿の関係であり、これには複数のクエリと固有の投稿(それぞれ)が必要であることを除けば、これは検索に似たものになると思います。
ありがとう。
post__in
でWP_Query
パラメータを探しているのかもしれません。
$query = new WP_Query(array(
'post__in' => array(23,18,2,199,6,8)
);
その後:
while ( $query->have_posts() ) {
$query->the_post();
/* post loop */
}
ドキュメント を見てください。 = D
post__in
はデフォルトではpublic queryableではないので、$_GET['post__in']
アクションフックでparse_query
を検証してコピーするだけで問題は解決します。
add_action('parse_query', 'wpse59828_parse_query');
function wpse59828_parse_query($query) {
if (empty($_GET['post__in']))
return $query;
$posts = explode(',', $_GET['post__in']);
$post__in = array();
foreach ($posts as $p) {
$post__in[] = intval($p);
}
$query->query_vars['post__in'] = $post__in;
return $query;
}
それからあなたはこれにアクセスするでしょう:
http://mywebsite.com/?post__in=23,18,2,199,6,8
このように、3.5より前のWordPressバージョンでは投稿順を設定することはできません( #13729 )。必要に応じて このプラグイン を使ってください。
$tax_query = array (
array (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $cat_name
)
);
$args = array( 'tax_query' => $tax_query, 'numberposts' => -1);
$lastposts = get_posts( $args );