mikejmoran of Speak Creative
3/19/2019 - 7:45 PM

blog-widget-tag-output.js

make your tags a part of the recent blog post widget markup, so that users can filter via tags

$('section.spoken .recent-blog-posts-wrapper ul li').each( function (idx, el) {
  $(this).prepend('<div class="tag-date-set" />');
  var classList = el.className.split(/\s+/);
  $(el).find('.tag-date-set').append('<span class="sw-taglist"></span>');
  for (var i = 0, l = classList.length; i < l; i++) {
     var classN = classList[i];
     if (classN == 'tag-featured' || classN.indexOf('tag-') < 0) {
         continue;
     }

     var readableTag = classN.replace(/tag-/gi, '');
     $(el).find('.sw-taglist').append('<a class="sw-taglist__tag" href="/blog/category/' + readableTag + '">' + readableTag + '</a>');
  }
  $(el).find('.recent-blog-posts-date-wrapper').appendTo($(el).find('.tag-date-set'));

  var postLink = $(el).find('.recent-blog-posts-title').attr('href');
  $(el).append('<a class="post-link" href="' + postLink +' " ></a>');

  var snippet = $(el).find('.recent-blog-posts-body').text().length;
    if(snippet > 85)
    { 
    $(el).find('.recent-blog-posts-body').text($(el).find('.recent-blog-posts-body').text().substr(0,85)+'...');
  }

});
 $('.recent-blog-posts-wrapper li').each(function (idx, el) {
    $('<div class="post-tags" />').insertAfter($(this).find('.recent-blog-posts-title'))
    var classList = el.className.split(/\s+/);
    $(el).find('.post-tags').append('<span class="sw-taglist"></span>');
    for (var i = 0, l = classList.length; i < l; i++) {
      var classN = classList[i];
      if (classN == 'tag-featured' || classN.indexOf('tag-') < 0) {
        continue;
      }

      var readableTag = classN.replace(/tag-/gi, '');
      $(el).find('.sw-taglist').append('<a class="sw-taglist__tag" href="/blog/category/' + readableTag + '">' + readableTag + '</a>');
    }
  });