shortcodes.php 5.94 KB
<?php 


add_shortcode( 'promos', 'promos' );


function promos()
{
    $custom_args = array(
        'post_type' => 'promo',
        'posts_per_page' => 3,
        'paged' => 1,
    );
    $custom_query = new \WP_Query($custom_args);
      
    ob_start(); 
   $uniqid = uniqid();
    if ($custom_query->have_posts()):?>
    <div class="carousel">
        <div id="<?php echo  $uniqid; ?>" class="promo-carousel carousel-items">
            <div class='swiper-wrapper'>
                <?php while ($custom_query->have_posts()): $custom_query->the_post();
                            echo promos_slides(get_the_ID());
                      endwhile; ?> 
            </div>
                <div class="swiper-pagination"></div>
                <div class="swiper-button-prev" data-id="<?= $uniqid; ?>"></div>
                <div class="swiper-button-next" data-id="<?= $uniqid; ?>"></div>
        </div>        
    </div>  
    <?php endif; ?>
    <?php  wp_reset_query(); ?>
   <?php $output = ob_get_clean();
 
     return $output;
}

function promos_slides($id)
{
    ob_start(); 
    $post = get_post($id);
    $link = get_permalink($id);
    if ($custom_link = get_post_meta($id, 'link', true)) {
        $link = $custom_link;
    }
    $link_text = "Read More...";
    if ($custom_link_text = get_post_meta($id, 'link_text', true)) {
        $link_text = $custom_link_text;
    }
    $text = str_replace(']]>', ']]&gt;', apply_filters( 'the_content', strip_shortcodes($post->post_content)));
    $excerpt_length = apply_filters( 'excerpt_length', 40 );
    $text = wp_trim_words( $text, $excerpt_length, ' ...' );
?>
     <div class="swiper-slide container">  
        <div class="promo row align-items-center">
            <div class="col-lg-4 col-md-12">
            <div class="promo-img">
                <?php echo get_the_post_thumbnail($id, 'full' ); ?>
                <div class="promo-img-over"> </div>
            </div>    
            </div>
            <div  class="promo_content col-lg-8 col-md-12">
                <?php echo '<h3>'.$post->post_title.'</h3><p>'. $text.'</p>'; ?>
                <a class="promo-link" target="_blank" href="<?php echo $link; ?>" title="<?php the_title_attribute(); ?>"><?php echo  $link_text;?></a>
            </div>
        </div>
    </div>

<?php 
$output = ob_get_clean();
return $output;
}


add_shortcode('share-this', 'share_this');


function share_this($atts)
{
    $atts = shortcode_atts(array(
        'post_id' => '',
    ), $atts, 'current-cover-articles');
    $post = get_post($atts['post_id']);
    ob_start();?>

<div class="custom-addtoany">
	<div class="shareIcons" id="shareRoundIcons<?php echo $post->post_name; ?>"></div>
</div>		
<script>
	jQuery(document).ready(function ($) {
		$("#shareRoundIcons<?php echo $post->post_name; ?>").jsSocials({
			url: "<?php echo site_url() . '/' . $post->post_name; ?>",
			text: ": <?php echo get_the_title($post->ID); ?>",
			showLabel: false,
			showCount: false,
			shares: ["facebook",  "twitter", "linkedin" ]
		});
	});
</script>
<?php
return ob_get_clean();
}




add_shortcode('course-list', 'course_list');


function course_list()
{
    $custom_args = array(
        'post_type' => 'sfwd-courses',
        'posts_per_page' => -1,
        'paged' => 1,
    );
    $custom_query = new \WP_Query($custom_args);
      
    ob_start(); 
    $uniqid = uniqid();
      if ($custom_query->have_posts()):?>
            <p><input type="text" class="quicksearch" placeholder="Search" /></p>

            <div class="button-group filters-button-group">
                <button class="button is-checked" data-filter="*">Clear</button>
                <button class="button" data-filter=".resilience-and-well-being">Resilience and Well-Being</button>
                <button class="button" data-filter=".leadership-and-teamwork">Leadership and Teamwork</button>
                <button class="button" data-filter=".clinical-skills">Clinical Skills</button>
                <button class="button" data-filter=".coaching-and-mentoring">Coaching and Mentoring</button>
            </div>
            <div class="grid">
                <?php while ($custom_query->have_posts()): $custom_query->the_post();  
                            echo course_card(get_the_ID());
                      endwhile; ?>
            </div>  
      <?php endif;
     wp_reset_query();
     $output = ob_get_clean(); 
     return $output;
}



function course_card($id)
{
  ob_start(); 
  $post = get_post($id);
  $link = get_permalink($id);
  $text = str_replace(']]>', ']]&gt;', apply_filters( 'the_content', strip_shortcodes($post->post_content)));
  $excerpt_length = apply_filters( 'excerpt_length', 40 );
  $text = wp_trim_words( $text, $excerpt_length, ' ...' );
  $categories = get_the_terms( $id, 'ld_course_category' );
  $cat ="";
  foreach( $categories as $category ) { $cat .= " ".$category->slug; }; ?>
    <div class="element-item <?php echo $cat; ?> " data-category="<?php echo $cat; ?>">
        <article id="post-<?php echo $id; ?>" class="post post-<?php echo $id; ?> sfwd-courses type-sfwd-courses">
              <div class="thumbnail"><div class="ribbon"><?php echo get_post_meta( $id, '_learndash_course_grid_custom_ribbon_text', true);?></div>
                      <div class="image">
                          <a href="<?php echo $link; ?>" rel="bookmark"> <?php echo get_the_post_thumbnail($id, 'full' ); ?></a>
                      </div>
              </div>
              <div class="content">
              <h3 class="entry-title"><a href="<?php echo $link; ?>"><?php echo $post->post_title; ?></a></h3>
                  <div class="entry-content">
                      <p><?php echo $text; ?></p>
                  </div>
                  <div class="button">
                    <a role="button" href="<?php echo $link; ?>" rel="bookmark"><?php echo get_post_meta( $id, '_learndash_course_grid_custom_button_text', true);?></a>
                  </div>
              </div>
        </article>
    </div>   
<?php
$output = ob_get_clean();
return $output;
}