Skip to main content

Episode

Title​

episode.title

Returns the episode title, if set, otherwise the post title. If you want to access the post title directly, use episode.post.post_title.

Subtitle​

episode.subtitle

Summary​

episode.summary

Number​

episode.number

Type​

episode.type

One of: full, trailer, bonus

Slug​

episode.slug

Post content​

episode.content

Podcast​

episode.podcast

Player​

episode.player

Web Player for the current episode. The player should not appear in feeds, so embed it like this:

{% if not is_feed() %}
{{ episode.player }}
{% endif %}

You can set a custom context for tracking:

{{ episode.player({context: 'landing-page'}) }}

Post publication date​

episode.publicationDate Uses WordPress datetime format by default or custom format: {{ episode.publicationDate.format('Y-m-d') }}

see datetime

Post recording date​

episode.recordingDate Uses WordPress datetime format by default or custom format: {{ episode.recordingDate.format('Y-m-d') }}

see datetime

Explicit status​

episode.explicit

yes, no or clean

URL​

episode.url

Duration Object​

episode.duration Useduration to display formatted hours, minutes and seconds. Alternatively, use the duration accessors for custom rendering.

see datetime

WordPress WP_Post object​

episode.post

Image​

episode.image

fallback: true or false. Should the podcast image be used if no episode image is available? Default: false

Example:​

{{ episode.image({fallback: true}).url }}

see image

Image URL​

episode.imageUrl

Image URL with fallback​

episode.imageUrlWithFallback

Total downloads​

episode.total_downloads Please note that this value is only updated hourly.

Example:​

{{ episode.total_downloads | number_format(0, ',', '.') }}

Meta value​

episode.meta

Access a single meta value

Meta values​

episode.metas

Access a list of meta values

Example:​

<ul>
{% for meta in episode.metas("mymetakey") %}
<li>{{ meta }}</li>
{% endfor %}
</ul>

{% for meta in episode.metas("mymetakey") %}
{{ meta }}{% if not loop.last %}, {% endif %}
{% endfor %}

Post Tags​

episode.tags

Access a list of post tags.

See http://codex.wordpress.org/Function_Reference/wp_get_object_terms#Argument_Options for a list of available argument options.

Example:​

  {% for tag in episode.tags({order: "ASC", orderby: "count"}) %}
<a href="{{ tag.url }}">{{ tag.name }} ({{ tag.count }})</a>
{% endfor %}

see tag

Categories​

episode.categories

Access a list of episode categories. See http://codex.wordpress.org/Function_Reference/wp_get_object_terms#Argument_Options for a list of available argument options.

Requires the "Categories" module.

Example:​

  {% for category in episode.categories({order: "ASC", orderby: "count"}) %}
<a href="{{ category.url }}">{{ category.name }} ({{ category.count }})</a>
{% endfor %}

see category

Files​

episode.files

List of episode files

see file

File​

episode.file

One episode file by asset name.

Example:​

<a href="{{ episode.file("pdf").publicUrl }}">Download episode PDF</a>

see file

Chapters​

episode.chapters List of episode chapters

see chapter

License​

episode.license

To render an HTML license, use {% include '@core/license.twig' %} for a license with fallback to the podcast license or {% include '@core/license.twig' with {'license': episode.license} %} for the episode license only.

see chapter

Contributors​

episode.contributors

List of episode contributors

Examples​

Iterating over a list of contributors

{% for contributor in episode.contributors %}
{{ contributor.name }}
{% if not loop.last %}, {% endif %}
{% endfor %}

Iterating over a grouped list of contributors

{% for contributorGroup in episode.contributors({groupby: "group"}) %}
<strong>{{ contributorGroup.group.title }}:</strong>
{% for contributor in contributorGroup.contributors %}
{{ contributor.name }}
{% if not loop.last %}, {% endif %}
{% endfor %}
{% endfor %}

Parameters​

  • id: Fetch one contributor by its id. Example: episode.contributors({id: 'james'}).name
  • group: group slug. If none is given, show all contributors.
  • role: role slug. If none is given, show all contributors.
  • groupby: group or role slug. Group by group or role. If used, the returned data is has another layer for the groups. See examples for more details.
  • order: Designates the ascending or descending order of the orderby parameter. Defaults to ASC.
    • ASC - ascending order from lowest to highest values (1, 2, 3; a, b, c).
    • DESC - descending order from highest to lowest values (3, 2, 1; c, b, a).
  • orderby: Sort contributors by parameter. Defaults to position.
    • position - Order by the contributors position in the episode.
    • comment - Order by the contributors comment in the episode.

Season​

episode.season

Get season for an episode

episode.relatedEpisodes

List of Related Episodes

Show​

episode.show

Examples​

This episode is part of the Show: {{ episode.show.title }} which deals with {{ episode.show.summary }}

Transcript​

episode.transcript

Grouped by speaker

Examples​

<style type="text/css">
.ts-speaker { font-weight: bold; }
.ts-items { margin-left: 20px; }
.ts-time { font-size: small; color: #999; }
</style>
{% for group in episode.transcript %}
<div class="ts-group">
{% if group.contributor %}
<div class="ts-speaker">{{ group.contributor.name }}</div>
{% endif %}
<div class="ts-items">
{% for line in group.items %}
<span class="ts-time">{{ line.start }}&ndash;{{ line.end }}</span>
<div class="ts-content">{{ line.content }}</div>
{% endfor %}
</div>
</div>
{% endfor %}

Shownotes​

episode.shownotes

info

Requires the Shownotes module.

Examples

Display all shownotes in a list.

<ul>
{% for entry in episode.shownotes %}
<li class="psn-entry">
{% if entry.type == "link" %}
{% if entry.icon %}
<img class="psn-icon" src="{{ entry.icon }}" />
{% endif %}
<a class="psn-link" href="{{ entry.url }}">{{ entry.title }}</a>
{% elseif entry.type == "topic" %}
{{ entry.title }}
{% endif %}
</li>
{% endfor %}
</ul>

Group shownotes by topic.

{% for topic in episode.shownotes({groupby: "topic"}) %}
<h3>{{ topic.title }}</h3>
<ul>
{% for entry in topic.entries %}
<li class="psn-entry">
{% if entry.type == "link" %}
{% if entry.icon %}
<img class="psn-icon" src="{{ entry.icon }}"/>
{% endif %}
<a class="psn-link" href="{{ entry.url }}">{{ entry.title }}</a>
{% endif %}
</li>
{% endfor %}
</ul>
{% endfor %}

Has Shownotes?​

episode.hasShownotes

Examples

{% if episode.hasShownotes %}
Here are some shownotes
{% else %}
¯\_(ツ)_/¯
{% endif %}