首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将家庭滑块中的帖子排除在区段之外

问将家庭滑块中的帖子排除在区段之外
EN

WordPress Development用户
提问于 2019-01-31 16:54:25
回答 2查看 150关注 0票数 0

我有一个主滑块和新闻部分的主页。

  • 主滑块
  • 体育栏目新闻
  • 经济版面新闻
  • 政治版面新闻
  • 及其他部分

主滑块通过标记=‘滑块’获得帖子,并显示10个posts限制。

各科按职类分列员额(每个部门按具体类别分列)

我想要做的是:将显示在滑块中的帖子排除在区段之外,直到文章退出滑块为止。

以下是滑块的代码和部分示例:

Slider代码:

代码语言:javascript
复制
 $tag ,
'posts_per_page' => $count ,
'post__not_in'   => get_option( 'sticky_posts' ),
)
);
?>


have_posts() ) : $slid->the_post(); ?>



        
        
          
            ';
            } 
            ?>

Section新闻示例:

代码语言:javascript
复制
    $cat_eco ,
   'posts_per_page' => $count_eco ,
   'post__not_in'   => get_option( 'sticky_posts' ),
   'offset'         => 0,
     )
   );
   ?>
   
   
    
   
   
      have_posts() ) : $eco->the_post();$n++; ?>
      
        
          
            ';
            } 
            ?>
EN

回答 2

WordPress Development用户

发布于 2019-01-31 17:51:30

我假设您将滑块代码保存在slder.php文件中,新闻部分代码保存在部分-news.php文件中,并在首页/home/index .php文件中跟踪这类代码段。

代码语言:javascript
复制
get_template_part('slider');
get_templates_part('section-news');

然后您可以编辑slider.php文件并添加新的数组变量$do_not_ can 。因此,它将保留滑块的post is以供将来使用。这是滑块的新代码

代码语言:javascript
复制
 $tag ,
  'posts_per_page' => $count ,
  'post__not_in'   => get_option( 'sticky_posts' ),
  )
);
?>

  
    have_posts() ) : 
        $slid->the_post(); 
        $do_not_duplicate[] = get_the_ID();
    ?>
      
        
          
        
        
            
              ';
              } 
              ?>

现在我将把滑块柱排除在新闻循环之外。这是新闻部分的新代码。将$do_not数组与get_option( 'sticky_posts' )值合并,并传递到post_not_in数组键。

代码语言:javascript
复制
 $cat_eco ,
       'posts_per_page' => $count_eco ,
       'post__not_in'   => array_merge( $do_not_duplicate, $sticky_posts ),
       'offset'         => 0,
      )
   );
   ?>
   
   
    
   
   
      have_posts() ) : $eco->the_post();$n++; ?>
      
        
          
            ';
            } 
            ?>
票数 0
EN

WordPress Development用户

发布于 2019-03-18 15:53:49

与朋友一起,我们找到了一个解决方案:-我们在functions.php中创建了一个排除函数-然后我们把它称为我们所去的地方。

这是functions.php的代码

代码语言:javascript
复制
    // Function exlude
        if( !function_exists('get_slide_ids') ){
        function get_slide_ids() {  
        global $wp_query;
        $POST_LIMIT = ap_option('slider_count');
        $POST_TAG = ap_option('slider_tag');
        $ids= [];
        $args =  array(
                    'post_status' => 'publish',
                    'tag'            => $POST_TAG ,
                    'posts_per_page' => $POST_LIMIT ,
                );
        $wp_query = new WP_Query($args);
        if ($wp_query->have_posts() ):
            while ($wp_query->have_posts()) : $wp_query->the_post();
                  $ids[] = get_the_ID(); 
            endwhile;   
            return $ids;
        endif; 
        return '';
        }
     }

为了调用它,添加不属于语法的语法,这是我的代码,只需尝试将它移植到您的代码中:

代码语言:javascript
复制
      $cat_eco ,
        'posts_per_page' => $count_eco ,
        'post__not_in'   => get_slide_ids(),
           )
         );
       ?>
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/327284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档