Add featured audio to your posts and pages, like featured images.
WordPress supports featured images out of the box, allowing images to represent posts in various ways defined by the theme. This plugin adds similar support for audio, allowing musicians, podcasters, and anyone who publishes audio with WordPress to feature audio files on posts and pages in a structured way. Each post and page gets a featured audio metabox where an audio file can be uploaded or selected from the media library.
By default, featured audio is displayed at the top of posts and pages (within the_content)
. Developers can change this by adding theme support for featured-audio
, via several API functions listed below.
Why use featured audio instead of embeding audio directly into posts? Featured audio organizes the content in a structured way, alowing infinite possibilities to customize the way users experience audio content on your site. The plugin ships with one example of this – the featured audio playlist widget. Add this widget to your sidebar and it’ll automatically display a playlist of all of the audio files featured on posts shown on the current view, on views with more than one post such as the main blog page or a category page. The plugin also supports a recent audio playlist widget, which behaves similarly to a latest posts widget.
For a more comprehensive way to manage music with WordPress, particularly if you need to include sheet music alongisde audio, see the Sheet Music Library plugin.
add_theme_support( 'featured-audio' )
Adding theme support for featured audio tells the plugin not to add the featured audio to the content automatically. Instead, you can add featured audio exactly where you want it with the_featured_content()
(see below for details).
By default, the post
and page
post types are supported. You can use the featured_audio_post_types
filter to modify this list. For example:
add_filter( 'featured_audio_post_types', 'prefix_featured_audio_post_types' ); function prefix_featured_audio_post_types( $post_types ) { // Add support to the sheet_music post type. $post_types[] = 'sheet_music'; // Overwrite the entire list to remove support on pages. $post_types = array( 'post' ); return $post_types; }
Display the featured audio, if it exists.
Parameters:
$args array Display options. $args['id'] int Post id (optional). Defaults to current post id. $args['album_art'] boolean Whether to display the album art for the featured audio cycle. Default: false. $args['album_art_size'] string Size to use for the album art picture. Default: thumbnail. $args['title'] boolean Whether to display the title of the audio attachment. Default: false.
Get the featured audio, if it exists, as a string. Has the same arguments as the_featured_audio()
.
Returns the url of the featured audio file, if it exists.
Parameter:
$id int Post id (optional). Defaults to current post id.
Returns the id of the featured audio attachment, if it exists.
Parameter:
$id int Post id (optional). Defaults to current post id.
Get the featured audio playlist, if there are multiple posts with featured audio in the current query. Used by the featured audio playlist widget.
Displays (echoes) get_the_featured_audio_playlist()
.
/wp-content/plugins/
directoryFeatured audio metabox on the post edit screen in the admin.
Default featured audio dislpay with the Twenty Fifteen theme.
Custom featured audio display using the_featured_audio( array( 'title' => true, 'album_art' => true ) );
in a theme.
Featured Audio Playlist Widget display with the Twenty Fifteen theme.
Featured Audio Playlist Widget display in the customizer.
Example of a Chromeless Widgets page featuring all of the audio on a site (also via the Sheet Music library plugin), with playlist widgets. See the live page here.
See the “Developer API Functions” section for information on how to change where featured audio is displayed in your theme’s code.
The featued audio playlist widget pulls in the featured audio associated with all of the posts displayed on the current view (auch as the blog index, a taxonomy archive, or an author archive). It won’t display on single post or page views or on archive views where none of the posts have featured audio selected.
get_the_featured_audio()
function, props @jangeekho.