Advertisement
sierre

Blog Post Template

Mar 30th, 2022 (edited)
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.94 KB | None | 0 0
  1. <?php
  2. // Ticket #17725
  3.  
  4. // File template: /themes/isipp/lib/isipp-visual-composer-elements.php
  5. // line: 62 - 176
  6.  
  7. /* Custom Blog Post */
  8. vc_map(array(
  9.     "name" => __("News Grid"),
  10.     "base" => "news_post_shortcode",
  11.     "category" => __('Content'),
  12.     "params" => array(
  13.     )
  14. ));
  15.  
  16.  
  17. add_shortcode('news_post_shortcode', 'news_post_section');
  18.  
  19. function news_post_section($atts) {
  20.     ob_start();
  21.    
  22.     global $wpdb, $post;
  23.    
  24.     $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
  25.     $news_args = array (
  26.         'posts_per_page' => 8,
  27.         'paged' => $paged,
  28.         'post_type'   => 'post',
  29.         'post_status'   => 'publish',
  30.     );
  31.  
  32.     $news_query = new WP_Query($news_args);
  33.    
  34.     echo '<div class="news-article-secteion">';
  35.    
  36.     if ($news_query->have_posts()) {
  37.        
  38.         $i = 0;
  39.         while ($news_query->have_posts()) {
  40.             $news_query->the_post();
  41.             $postID =  get_the_id();
  42.            
  43.             // Product Title
  44.             $postTitle = get_the_title($post->ID);
  45.             $postContent = get_the_content($post->ID);
  46.            
  47.             // strip all shortcodes but keep content
  48.             $the_content = preg_replace("~(?:\[/?)[^/\]]+/?\]~s", '', $postContent);
  49.            
  50.             $getCategories = load_terms('category');
  51.            
  52.              if($i == 2) {
  53.                 echo '<div class="news-item categories-section">';
  54.                 echo '<h4>Categories</h4>';
  55.                
  56.                 echo '<ul class="catgories_list">';
  57.                 if(!empty($getCategories)) {
  58.                     foreach($getCategories as $caetgory) {
  59.                        
  60.                         $catURL = site_url().'/category/'.$caetgory->slug;
  61.                        
  62.                         echo '<li><a href="'.$catURL.'">'.$caetgory->name.'</a></li>';
  63.                     }
  64.                 }
  65.                 echo '</ul>';
  66.                 echo '</div>';
  67.             }
  68.            
  69.             echo '<div class="news-item">';
  70.  
  71.             if(!empty(get_the_post_thumbnail( $post->ID, 'medium' ))) {
  72.                 echo '<a href="'.get_the_permalink($post->ID).'" target="_self">'.get_the_post_thumbnail( $post->ID, 'medium' ).'</a>';
  73.             } else {
  74.                 echo '<a href="'.get_the_permalink($post->ID).'" target="_self"><img src="'.site_url().'/wp-content/uploads/2021/06/content-5.jpg"></a>';
  75.             }
  76.            
  77.             echo '<a href="'.get_the_permalink($post->ID).'" target="_self"><h4>'.get_the_title($post->ID).'</h4></a>';
  78.            
  79.             echo '<div class="content">'.wp_trim_words($the_content, 55, '...').'</div>';
  80.            
  81.             echo '<a class="read_more_btn" href="'.get_the_permalink($post->ID).'" target="_self">READ MORE</a>';
  82.             echo '</div>';
  83.        
  84.         $i++;
  85.         }
  86.     }
  87.    
  88.     echo '</div>';
  89.    
  90.     wp_reset_postdata();
  91.     wp_reset_query();
  92.  
  93.     ?>
  94.    
  95.     <div class="news-pagination">
  96.         <?php
  97.         $big = 999999999; // need an unlikely integer
  98.  
  99.         echo paginate_links( array(
  100.             'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
  101.             'format' => '?paged=%#%',
  102.             'current' => max( 1, get_query_var('paged') ),
  103.             'total' => $news_query->max_num_pages
  104.         ) );
  105.         ?>
  106.     </div>
  107.    
  108.     <?php
  109.     $output = ob_get_contents();
  110.     ob_end_clean();
  111.     return $output;
  112. }
  113.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement