WSUWP Content Syndicate
Plugin overview
WSUWP Content Syndicate is a suite of WordPress plugins that for retrieving and displaying content from throughout Washington State University. This is the preferred method for displaying content throughout the platform and work continues to expand its usefulness.
It provides the following shortcodes:
[wsuwp_json]
for displaying posts;[wsuwp_events]
for displaying events; and[wsuwp_people]
for displaying people.
It also provides support for pulling content based on WSU’s university taxonomies.
The shortcodes leverage the WP API for retrieving content and offer attributes for adjusting how the content is displayed.
Contents:
Common Attributes
There is a set of attributes shared between the three shortcodes for determining how they function. Each shortcode also supports additional attributes that are covered in their respective sections.
The attributes common to all WSUWP Content Syndicate shortcodes are as follows:
output
– The HTML structure of each feed item. Each shortcode provides different output values.host
– The URL of a site on the platform from which to pull content.count
– A number value of items to display. Defaults to the number provided by the host, which is usually 10.date_format
– Accepts arguments similar to those accepted by WordPress in other contexts for modifying the date format.offset
– A number value from which to start displaying the feed items.cache_bust
– A number value. Used for breaking cache immediately.university_category
– A comma separated list of university category slugs.university_organization
– A comma separated list of university organization slugs.university_location
– A comma separated list of university location slugs.category
– A comma separated list of category slugs.tag
– A comma separated list of tag slugs.
Examples for how to use these attributes are included in the [wsuwp_json]
section below.
When writing any shortcodes, it’s important to ensure that attribute values are wrapped in straight quotes rather than curly quotes, and that the shortcode does not contain any HTML markup. Otherwise, the shortcode will not work as intended, if at all.
[wsuwp_json] – Retrieve and display posts
The most common use of the [wsuwp_json]
shortcode is to display recent news items from news.wsu.edu:
- Tournament-bound
- Genes identified that allow bacteria to thrive despite toxic heavy metal in soil
- WSU Common Reading accepting desk copy requests for 2024–25 book
- New Pullman campus kiosk increases access to emergency contraception
- Telehealth in rural fire departments could help address healthcare challenges
The host
attribute can be used to pull items from a specific site. To display the 10 most recent items from Carson College of Business, the following would work:
[wsuwp_json host="business.wsu.edu" count="10" output="headlines"]
Additional output
formats are available as well. We’ve tried to provide a good default HTML structure for each, but are happy to listen to suggestions for improvements.
- Headlines only:
[wsuwp_json output="headlines"]
- Item excerpts:
[wsuwp_json output="excerpts"]
- Full posts:
[wsuwp_json output="full"]
- JSON object:
[wsuwp_json]
(The option for a JSON object is provided so that results can be manipulated directly with JavaScript. With this option, no output will appear on the page itself.)
To combine posts from an outside source with local results for a site, the local_count
attribute can be used. For example, [wsuwp_json count="10" local_count="5" output="headlines" host="news.wsu.edu"]
will pull in 10 total items as headlines using both the current site and news.wsu.edu to populate the list based on publish date.
It is also possible to offset a list of items so that the most recent aren’t included in a feed. This has been used with success to show one item with an excerpt display and the rest as headlines. For example, [wsuwp_json count="1" output="excerpts"]
and [wsuwp_json count="4" offset="1" output="headlines"]
together would display as such:
-
Tournament-bound
WSU Men’s and Women’s Basketball teams achieve unrivaled success ahead of momentous post-season play.
Read Story
Taxonomies will also work as part of the shortcode. Depending on what is supported on the news site, results can be retrieved with filters for University Category, Site Category, or Tag.
[wsuwp_json count="5" university_category="agriculture" output="headlines"]
[wsuwp_json count="5" site_category="local-news" output="headlines"]
[wsuwp_json count="5" tag="blue" output="headlines"]
The [wsuwp_json]
shortcode also supports attributes for creating complex taxonomy queries. Support for these attributes will hopefully be extend to the other two attributes soon.
university_category_match
– Specifyall
if retrieved content should match all of the provided university category slugs. Defaults to match any.university_organization_match
– Specifyall
if retrieved content should match all of the provided organization slugs. Defaults to match any.university_location_match
– Specifyall
if retrieved content should match all of the provided location slugs. Defaults to match any.category_match
– Specifyall
if retrieved content should match all of the provided category slugs. Defaults to match any.tag_match
– Specifyall
if retrieved content should match all of the provided tag slugs. Defaults to match any.taxonomy_match
– Specifyany
if retrieved content should match any one of the provided taxonomy rules. Defaults to match all of the provided taxonomy rules.
As an example, [wsuwp_json output="headlines" ="taco,burrito"]
will pull a list of headlines for posts that are assigned either the category “taco” or the category “burrito”.
Adding the category_match
attribute changes this behavior. [wsuwp_json output="headlines" category="taco,burrito" category_match="all"]
will pull a list of headlines for posts that are assigned both the “taco” and “burrito” categories.
Multiple taxonomies work in a similar way. [wsuwp_json output="headlines" category="taco,burrito" univeristy_location="wsu-pullman"]
will pull a list of headlines for posts that are assigned the location of “wsu-pullman” and either the category “taco” or the category “burrito”.
Adding the taxonomy_match
attribute changes this behavior. [wsuwp_json output="headlines" category="taco,burrito" univeristy_location="wsu-pullman" taxonomy_match="any"]
will pull a list of headlines for posts that are assigned the location of “wsu-pullman” or have either the category “taco” or “burrito” assigned.
The date_format
attribute can be used in the event that a different date format is desired. The shortcode will accept arguments similar to those accepted by WordPress in other contexts, like so [wsuwp_json output="excerpts" date_format="F j, Y"]
.
All uses of the shortcode are automatically cached for 10 minutes to reduce server load on both sides of the request for new items. The cache_bust
attribute is available if something needs to be changed immediately or fresh results have just been posted. Changing this is only necessary if no other attribute is changed.
[wsuwp_json output="headlines" cache_bust="1"]
[wsuwp_json output="headlines" cache_bust="2"]
While the functionality of each shortcode is exactly the same, setting the cache_bust attribute to 2 clears the cache.
[wsuwp_events] – Retrieve and display events
The common use for the [wsuwp_events]
shortcode is to display events from events.wsu.edu:
- Mar 18 Crimson Reads Exhibit
- Mar 19 Climate change policy careers and research/extension opportunities for agriculture and natural resources
- Mar 19 Spring 2024 Grad Fair
- Mar 19 School of Molecular Biosciences Graduate Student Seminars
- Mar 19 Organic/CBS Seminar
- Mar 19 ESIC SP24 Power Seminar Series: Integrating IBRs – Stability Challenges and Mitigation by Bishnu Sapkota, General Electric Vernova
- Mar 19 Pitchbook – Student Workshop – how data informs the work of entrepreneurs
- Mar 19 CAREER WEEK24: Career Networking
- Mar 19 Student Recital: Anna Somerville, flute
- Mar 19 ASWSUG CAREER WEEK24: Build Your Online Brand
Events can be filtered by the all the common taxonomies, with one caveat. If no host
is specified – that is, you’re pulling events from events.wsu.edu – the category
attribute will have no effect. However, you can filter events from events.wsu.edu by Type by using the type
attribute, which accepts a comma separated list of type slugs.
The events shortcode also supports the following additional attributes:
period
– Set topast
to display the most recent past events.featured
– set totrue
to display the featured events from the events.wsu.edu home page (works only if no host is specified).
And in addition to the headlines
value for the output
attribute, the events shortcode accepts excerpts_legacy
for including the excerpt along with the headline information for each event.
[wsuwp_people] – Retrieve and display WSU People Profiles
The common use for the [wsuwp_people]
shortcode is to display profiles from people.wsu.edu.
The people shortcode supports the following additional attributes:
classification
– A classification slug to retrieve people by.display_fields
– A comma separated list of fields to display for each profile. Defaults tophoto,name,title,office,email
. Additional fields includedegree
,address
,phone
,bio
,bio-unit
,bio-university
, andwebsite
.filters
– A comma separated list of filtering options. Allowed values includesearch
,location
,organization
,classification
,tag
, andcategory
. Thecategory
value combines terms from university categories and site categories. Labels for each filter option can be adjusted using the attributes below:category_filter_label
– Defaults toFilter by category
.classification_filter_label
– Defaults toFilter by classification
.location_filter_label
– Defaults toFilter by location
.organization_filter_label
– Defaults toFilter by organization
.search_filter_label
– Defaults toType to search
.tag_filter_label
– Defaults toFilter by tag
.
photo_size
– Specify the size of the photo to display for each profile. Defaults tothumbnail
. Other allowed values includemedium
andlarge
.website_link_text
– Link text to display for thewebsite
field when it is being output. Defaults toWebsite
.nid
– Accepts a WSU Network ID to display an individual profile.heading_tag
– HTML tag to use for the profile title. Defaults toh2
.link
– Links the the name and photo of each profile to a full profile view (see the example usage below). Accepts eitherhas-bio
to add links only to those profiles with a biography, oryes
. This attribute only works when used in conjunction with thehost
orprofile_page_url
attribute.profile_page_url
– Link to a page on your site that is configured to display full profiles (see the example usage below).
The people shortcode can be used to display full profiles on your site by doing the following:
- Set up a page for displaying full profiles by including only
[wsuwp_people output="profile"]
as the page content.- The
display_fields
attribute can also be set up to configure how the full profiles will be displayed.
- The
- Use the URL of the above page as the value for the
profile_page_url
attribute, and set one of the accepted values for thelink
attribute, i.e.[wsuwp_people profile_page_url="https://hd.wsu.edu/people/people-profiles/" link="has-bio"]
.