Skip to main content

A Few Announcement & 1.3.x Release Overview

Just published a very quick video about the 1.3 update overview and some announcements.

Quick Overview:

  • All the lesson editor conflicts are now resolved in version 1.3.3 (free core version)
  • Introducing new pricing
  • Please watch the video for a full overview and the secret features that we launched in the 1.3

Please let us know your feedback about this update.

Hoang Hxn

Shahjahan Jewel Course editor is working fine, It would be great if there is a "Toggle Sidebar" option of Course editor it would give more space when editing

Hoang Hxn

Shahjahan Jewel In addition, many blocks of Core Block do not display Vietnamese and some blocks display Vietnamese. I do not know why?

Jonathan Gwyer

Love the secret feature!

Jonathan Gwyer I don’t found for the moment 😃 Do you know ?

Jonathan Gwyer

Dragan STAMENKOVIC You have to watch to the end of the video 😆

Jonathan Gwyer oh ok, the post Counter 😁 Great 🙂 I was expecting something bigger even though this feature is appreciable for general use

Ross FCA

Awesome update and overview video. The new posts counter is brilliant. Will definitely help engagement in communities with a lot of groups. Looking forward to the documentation of these new hooks :)

Amazing update!

Jörn Weber

Loading editor. Please wait....

Paul Hopkins

Love it :-)

Oh I see the secret feature now, amazing! :D So we can mark my request as launched in Roadmap: https://community.wpmanageninja.com/fluentcommunity-roadmp/#/idea/816/

if someone like this into Discord Style, here is easy CSS-Code:

.spaces .space_contents ul li a span.fcom_unread_count {
background-color: red !important;
color: white !important;
line-height: 1 !important;
padding: 4px 6px !important;
font-size: 10px !important;
border-radius: 999px !important;
font-weight: bold !important;
display: inline-block !important;
border: 1px solid #ED4245 !important;
}

Shahjahan Jewel Only new posts or are comments included?

Parm Saggu

You guys are literally the best! <3

Jakson A

Great update Shahjahan Jewel and team! 🤩

Tjaša Peterle

Thank you for all the hard work, you created a fantastic product !!!! <3

Jeff Brigman

There's another minor feature not mentioned, hovering over how long ago a post or comment was made will trigger a popup with the actual date and time it was made. It's a little ugly with the generic timestamp but definitely better than nothing at all and not knowing when it's been months since it was made.

I decided to do a little tinkering with it and made a javacript snippet you can add under settings -> custom -> javascript that will make it display as something more like this: April 10, 2025 @ 2:05pm

I'm pasting it below, if you notice anywhere it doesn't work let me know and I'll look at what additional class needs to be targeted. You will need to add script tags around it.

  // Function to format the timestamp from the title attribute
  function formatTitleTimestamp(elem) {
    // Get the timestamp string from the title attribute
    var ts = elem.getAttribute("title");
    if (!ts) return;

    // Expect the format: "YYYY-MM-DD HH:MM:SS"
    var parts = ts.split(" ");
    if (parts.length !== 2) return;
    var dateParts = parts[0].split("-");
    var timeParts = parts[1].split(":");
    if (dateParts.length !== 3 || timeParts.length !== 3) return;

    // Parse the parts into numbers
    var year = parseInt(dateParts[0], 10);
    var month = parseInt(dateParts[1], 10) - 1; // JS months are 0-indexed
    var day = parseInt(dateParts[2], 10);
    var hours = parseInt(timeParts[0], 10);
    var minutes = parseInt(timeParts[1], 10);

    // Create a Date object
    var dateObj = new Date(year, month, day, hours, minutes);

    // Array of month names for friendly output
    var monthNames = [
      "January", "February", "March", "April", "May", "June",
      "July", "August", "September", "October", "November", "December"
    ];

    // Convert hours to 12-hour format with AM/PM
    var currentHours = dateObj.getHours();
    var ampm = currentHours >= 12 ? 'pm' : 'am';
    var formattedHours = currentHours % 12;
    if (formattedHours === 0) formattedHours = 12;

    // Format minutes as always two digits
    var formattedMinutes = dateObj.getMinutes();
    formattedMinutes = formattedMinutes < 10 ? "0" + formattedMinutes : formattedMinutes;

    // Build the new friendly timestamp string
    var friendly = monthNames[dateObj.getMonth()] + " " +
                   dateObj.getDate() + ", " +
                   dateObj.getFullYear() + " @ " +
                   formattedHours + ":" + formattedMinutes + ampm;

    // Update the title attribute with the new formatted string and mark this element as processed
    elem.setAttribute("title", friendly);
    elem.classList.add("formatted");
  }

  // Function to process elements with the timestamp classes that have not been formatted yet
  function processTimestampElements() {
    // Select elements with either class that have a title attribute and are not yet formatted
    var elements = document.querySelectorAll(
      '.feed_timestamp[title]:not(.formatted), .comment_text_head_time[title]:not(.formatted)'
    );
    elements.forEach(function(elem) {
      formatTitleTimestamp(elem);
    });
  }

  // When the DOM is loaded, process existing elements and set up MutationObserver for dynamically added ones
  document.addEventListener("DOMContentLoaded", function() {
    // Process elements already in the DOM
    processTimestampElements();

    // Create a MutationObserver to monitor for added nodes
    var observer = new MutationObserver(function(mutationsList) {
      mutationsList.forEach(function(mutation) {
        mutation.addedNodes.forEach(function(node) {
          if (node.nodeType === Node.ELEMENT_NODE) {
            // If the added node itself matches our selectors, process it
            if (node.matches('.feed_timestamp[title]:not(.formatted), .comment_text_head_time[title]:not(.formatted)')) {
              formatTitleTimestamp(node);
            }
            // Also check any descendant elements of the added node
            var descendants = node.querySelectorAll('.feed_timestamp[title]:not(.formatted), .comment_text_head_time[title]:not(.formatted)');
            descendants.forEach(function(descendant) {
              formatTitleTimestamp(descendant);
            });
          }
        });
      });
    });

    // Start observing the document body for changes
    observer.observe(document.body, { childList: true, subtree: true });
  });

Sophia S

Jeff Brigman doesn't this have any issue on the site performance?

Jeff Brigman

Sophia S I don’t think so, but can test it. I’m also on litespeed server, so my results may be different.

Hoang Hxn

Jeff Brigman Error displaying at the bottom of FC settings page

Jeff Brigman

Hoang Hxn did you wrap it in script tags?

Hoang Hxn

Jeff Brigman I Copy your code and paste it into Customize >JS

Jeff Brigman

Hoang Hxn you have to wrap it in script tags. It kept messing up the code when I posted it with them, so I removed it.

Hoang Hxn

Shahjahan Jewel This should be available in FluentCommunity, Currently it is not possible to see the specific date of a post 😏

Hoang Hxn

Jeff Brigman Yes when wrap it in script tags it worked fine, Thank you very much

Hoang Hxn

Jeff Brigman Is there a way to make it work with comment time as well?

Jeff Brigman

Hoang Hxn give me a link to the site. Not sure how comfortable you are with CSS and using browser inspect tools, but you can easily identify the associated classed by right click -> inspect and then add it to the list in the code.

Olex Lipinski

In course lesson, the Image Block doesn't show anything. In editing mode picture from the media library is displayed, but not for users after publications.

P.S. Not display on desktop, but for mobile browser all ok

Franz Horvath

Thanks for your good work but it that's only half the battle. I can‘t embed the community plugin seriously in my Website. Every page of my site has a header with menu, only the Fluent Community plugin is encapsulated and sealed off the whole site. Is it possibly to allow a header with menu above the plugin output?

Sophia S

Franz Horvath use Ross H's fluent everywhere plugin please🙏

Jeff Mapes

Franz Horvath I need this too!

Jeff Mapes

Sophia S I would prefer if this was built in. It should be a simple switch on the admin page. I assume most users would want it this way, instead of looking like a separate website. It creates a bunch of issues for me. How can I make a feature request?

Kaneisha G.

Jeff Mapes just curious as I build my community. What issues does it cause?

Jeff Mapes

Kaneisha Grayson like I mentioned, it doesn't look like it's part of the same website, and creates navigation issues going back and forth between basically two different websites.

Sophia S

Meanwhile, does this work with the shortcodes so I can embed fluent forms quizzes right?

Great, thank you for the good job done

Michal Paczula

Shahjahan Jewel Admittedly, after this update, the editor started working for me, but it loads VERY slowly (around 20-30 seconds, sometimes even longer). This is quite frustrating...

Additionally, when do you plan to enable embedding tools from the Fluent family? It's somewhat inconvenient when you're creating an ecosystem that can't be fully utilized. I can't embed Booking, Boards, or Forms. I was somewhat hoping that, along with the Gutenberg editor, there would at least be the option to use shortcodes for YOUR tools...

Thats awesome!! Thanks. I bought fluent community a few days ago, now I have fluent CRM and community, Im going to migrate from tutor LMS to the fluent community my own LMS, Ill see how everything goes!! Realy hyped about this new change.

Comment @ emails still not working for me. Anyone else? cc Shahjahan Jewel 

William Beem

Now what is this FluentCart thing in the video? I already want it now.

Kristina Bella

William Beem where did you see?

William Beem

Kristina Bella It's in the video while looking at the discussion. I think it was the poll example. Look at 8:46 in the video.

Joseph Takuski

William Beem https://fluentcart.com/

Shahjahan Jewel teased it earlier this year without naming it directly stating his usually “something big is coming”. Someone asked him about it directly aswell and he said no comment so I guess it’s in the works and will be announced when it’s ready for beta testing. It makes perfect sense it’s the next big product in the Fluent family. Paymattic is ok but it’s kind of off brand , in need of an update IMHO and some people want or need an actual store with a cart and affiliate system. It would be the cherry on top for Fluent product fans.

Kristina Bella

William Beem and he leaked "Support Tickets" at 07:03, so FluentSupport will be integrated soon!

William Beem

Kristina Bella I don't see it there. I see notifications settings for messages. If you're talking about the Support Tickets in the profile, that's there today. Here's my site.

Liam McDonald

With the one to one messaging setting - would it be possible to add a tag option, so only paid members can initiate conversations (and mods/admins), so it would stop any spamming possibilities from free members, but still allow the community, to communicate independently

Marie Denee

Liam A McDonald I love this suggestion/idea!

Tanmay Kapse

By default can the admin emails for post notifications be on?

Shahjahan Jewel thank you very much, one remark, when using the blocks, the theme color does not reflect the community color settings, nor the WP global color settings. Is there a way to sync those?

Natascha Vantuykom We will improve the color sync.

Shahjahan Jewel - you mentioned that you would add more info about new webhooks - is it pulblished somewhere?

Jarek Kaniewski I think I mentioned the main query feed hooks. I will make a separate post about the new hooks in few hours.

Hoang Hxn

Shahjahan Jewel Amazing 😍 Does FC work with Blocksy Theme Content Block (Hook)?

Hoang Hxn no. The new hook will help you to include or exclude certain spaces from the main feed.

Kaneisha G.

Shahjahan Jewel just to be clear, the main feed does not currently include posts from private, invite-only, nor secret spaces unless a user is in those spaces, right?

Kaneisha Grayson The main feed only includes the feeds that you have access on.

Kaneisha G.

Shahjahan Jewel got it. Thank you!

Hoang Hxn

Shahjahan Jewel Hope there is a Duplication lesson option, I usually create a standard lesson template and Duplication 🙏

Hoang Hxn Create a lesson and then save that as a pattern (or create a pattern globally). Then you can easily pull the pattern and unsync it and start editing. Also, duplicate a lesson will be also a good feature.

Hoang Hxn

Shahjahan Jewel Yes, I use pattern, but about custom HTML code of embedded video it is inconvenient for user to Copy and Paste manually that's why I need duplicate lesson

Barna Buxbaum

Shahjahan Jewel is there any news about course re-arrangement please? (not sorting to view)

Option to change the order of the courses. Right now they still show in order of creation by default.

So if I have Course 2023, 2024, 2025 and create them in this order, I would need to change this in the database or somewhere to show by default as 2025, 2024, 2023 to make sure the latest is the new and the rest if for older students.

Ross FCA

Barna Buxbaum would you mind losing the ability for users to sort by other methods? I added custom ordering for spaces and topics to my Quick Fixes plugin, I could do the same for courses.