Php 按类别进行两次查询
正在尝试对帖子进行两次查询。另一个用于第13类和第14类,另一个用于其他类别。当我有这段代码时,它只会发布所有内容,而不应该包括13和14 (最终目标是,每次我发布13类内容时,它都会复制一篇14类文章,始终是同一篇具有相同id的文章,并在13类发布后发布)Php 按类别进行两次查询,php,wordpress,Php,Wordpress,正在尝试对帖子进行两次查询。另一个用于第13类和第14类,另一个用于其他类别。当我有这段代码时,它只会发布所有内容,而不应该包括13和14 (最终目标是,每次我发布13类内容时,它都会复制一篇14类文章,始终是同一篇具有相同id的文章,并在13类发布后发布) 如果(!function_存在('vpsa_posts_shortcode')){ 功能vpsa_posts_短代码($atts){ $atts=短码_atts(数组)( “每页”=>10页, “订单”=>“描述”, 'orderby'=>
如果(!function_存在('vpsa_posts_shortcode')){
功能vpsa_posts_短代码($atts){
$atts=短码_atts(数组)(
“每页”=>10页,
“订单”=>“描述”,
'orderby'=>'date',
'类别不在'=>数组中(13,14)
)(港币),;
$paged=(get_query_var('paged'))?get_query_var('paged'):1;
$args=数组(
“post_type”=>“post”,
“每页帖子”=>$atts[“每页”],
“订单”=>$atts[“订单”],
'orderby'=>$atts[“orderby”],
“paged”=>$paged,
'类别不在'=>数组中(13,14)
);
$query=新的WP\u查询($args);
/*这里检查输出是否有POST*/
如果($query->have_posts()):$output;
/*创建输出循环并从数据库中获取各种有趣的内容*/
而($query->have_posts()):$query->the_post();
$output.='';
$output.='';
$output.=''。获取摘录();
全局$wp_查询;
$args_pagi=数组(
'base'=>add_query_arg('paged','%#%'),
“总计”=>$query->max\u num\u页面,
“当前”=>$paged
);
$output.='';
$output.=分页链接($args\u pagi);
$output.='';
其他:
$output.='对不起,没有要显示的帖子
;
endif;
/*这对这个问题不是很重要,我不知道如何用英语解释*/
wp_reset_postdata();
返回$output;
}
}
添加_短码(“vpsa_帖子”、“vpsa_帖子_短码”);
您试图解决什么问题?你被困在哪里了?我试着以不同的方式编写代码的“'category_unot_in'=>array(13,14)”部分,但我认为现在应该是正确的,只是仍然不起作用现在我正在尝试使用这个函数exclude_category($query){if($query->is_home()){$query->set('cat',13,-14');}return$query;}添加过滤器('pre_get_posts','exclude_category');函数包括_category($query_viikonkuva){if($query_viikonkuva->is_home()){$query_viikonkuva->set('cat','13,14');}返回$query_viikonkuva;}添加过滤器('pre_get_posts','include_category')代码>
if ( ! function_exists('vpsa_posts_shortcode') ) {
function vpsa_posts_shortcode( $atts ){
$atts = shortcode_atts( array(
'per_page' => 10,
'order' => 'DESC',
'orderby' => 'date',
'category__not_in' => array( 13,14 )
), $atts );
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => $atts["per_page"],
'order' => $atts["order"],
'orderby' => $atts["orderby"],
'paged' => $paged,
'category__not_in' => array( 13,14 )
);
$query = new WP_Query($args);
/* Here checking if output has posts */
if($query->have_posts()) : $output;
/* Making the loop for output and getting all kind of fun stuff from the database */
while ($query->have_posts()) : $query->the_post();
$output .= '<div class="arkisto-uutiskuva"><a alt="' . the_title('','',false) . '" href="' . get_post_permalink() . '"><div class="arkisto-kuva">' . get_the_post_thumbnail() . '</div></a></div>';
$output .= '<h2 class="arkisto-title"><a href="' . get_permalink() . '" title="' . the_title('','',false) . '">' . the_title('','',false) . '<span class="arkisto-date"> (' . get_the_date() .')</span></a></h2>';
$output .= '<p class="arkisto-teksti">' . get_the_excerpt() .'</p><br>';
endwhile;global $wp_query;
$args_pagi = array(
'base' => add_query_arg( 'paged', '%#%' ),
'total' => $query->max_num_pages,
'current' => $paged
);
$output .= '<div class="post-nav">';
$output .= paginate_links( $args_pagi);
$output .= '</div>';
else:
$output .= '<p>Sorry, there are no posts to display</p>';
endif;
/* This is something not so important for the issue, I dont know how to explain in English */
wp_reset_postdata();
return $output;
}
}
add_shortcode('vpsa_posts', 'vpsa_posts_shortcode');