Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按类别进行两次查询_Php_Wordpress - Fatal编程技术网

Php 按类别进行两次查询

Php 按类别进行两次查询,php,wordpress,Php,Wordpress,正在尝试对帖子进行两次查询。另一个用于第13类和第14类,另一个用于其他类别。当我有这段代码时,它只会发布所有内容,而不应该包括13和14 (最终目标是,每次我发布13类内容时,它都会复制一篇14类文章,始终是同一篇具有相同id的文章,并在13类发布后发布) 如果(!function_存在('vpsa_posts_shortcode')){ 功能vpsa_posts_短代码($atts){ $atts=短码_atts(数组)( “每页”=>10页, “订单”=>“描述”, 'orderby'=>

正在尝试对帖子进行两次查询。另一个用于第13类和第14类,另一个用于其他类别。当我有这段代码时,它只会发布所有内容,而不应该包括13和14

(最终目标是,每次我发布13类内容时,它都会复制一篇14类文章,始终是同一篇具有相同id的文章,并在13类发布后发布)

如果(!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');