Filtered News on Modern SharePoint Sites
Recently I had a client looking to update their current SharePoint Intranet to the new Modern SharePoint sites. Using a Communications site, a new Intranet was created to provide a visually appealing interface, coupled with a streamlined communications vehicle for employees to stay updated on news, events and projects throughout the organization.
Given that the modern sites and the provided web parts are relatively new, additional functionality is being released over time. In its current state, there is no way to filter or categorize the content which appears in the News web part. Unlike the Events web part, which has a built-in Category filter, the News web part is an all-or-nothing dump of promoted pages.
The Purpose
There are many benefits to filtering items which appear in the News web part. If you’re reading this article, you likely already have use cases of your own. For my client, the Intranet included a series of pages for each of their many office locations. The employees in each office are only interested in news that pertains to either the entire organization, or their specific site. Sifting through a collection of news posts related to other offices would be time-consuming and inefficient.
The Workaround
This is a fairly simple workaround, it requires no code and uses all out of the box components. You will need the following items in order to implement this solution:
Modern SharePoint Site
Site Pages library
A good naming covention
Highlighted Content web part
Step 1: Create a News page to be displayed in the filtered web part
Start by adding a new page using the “+ New” drop down menu, and select “Page”.
Use a naming convention which works with your requirements. I used office names for example, “Office1 News” then a separator “|” and the title of the new article “Sample Article”.
Step 2: Creating the page to display the filtered News
Create your page to display the News articles.
While editing the page, add a Highlighted content web part to the page.
Step 3: Filtering News on a Modern Page
Adjust the settings of the web part; set the Source to “This site”. Set the Type to “Pages”.
Under Filter and sort, use the Filter drop down to select “Title includes the words”. Type in the naming convention used (e.g. Office1 News). Note, you don’t necessarily need to include the separator here.
Now a link to your News page will appear in the Highlighted content web part.
Wrap Up
As you can see, this is a very simple workaround. Hopefully this only required short-term, although at the time of writing this post, filtering the out of the box News web part is not on Microsoft’s Roadmap. I will mention there are other ways to achieve filtering Pages. For example, creating a managed metadata structure would work using the “Managed property” filter. However, this approach takes more time and is not easily managed by end users creating the content.
A similar approach to this is to use a separate Document library, include the “Link to a document” content type and link to new pages. The document library provides the flexibility of using a Choice or Lookup column, and more advanced filtering in the Featured content web part. The downside is the affect on the UI; the web part is unable to pull in the main header image of your news post, so all news articles appear the same.
If you’re interested in hearing more about how to implement this alternative approach, so that you can use Lookup or Choice columns, comment below!
Hi there,
Correct me if I am wrong, the OOTB News web part does not have filter options to allow user to select to filter.
Any idea how to have a News web part that has the option to allow user to select example “News category”?
Either OOTB method to achieve this or require customization?
Hey Chen, that would require a custom SPFx web part. At this point there is no native way for a user to filter news on a site, it all has to be pre-configured in the web part. My best advice would be to have multiple sections of news pre-filtered with scroll-to links that jump to each section.
Thanks for feedback. Noted.