This recipe adds a new Lava Shortcode that embeds SoundCloud audio players directly into Rock pages, content channels, and communication templates.

Instead of requiring content editors to paste raw iframe embed code from SoundCloud, this shortcode allows them to simply paste a regular SoundCloud link, and Rock will automatically generate a SoundCloud audio widget.

This is especially useful for churches that publish sermon audio, worship demos, podcasts, or ministry devotional content via SoundCloud and want a clean, editor-friendly way for staff or volunteers to embed audio without touching HTML or iframe code.

Add a new shortcode

Navigate to: Admin Tools → CMS Configuration → Lava Shortcodes

Click the ➕ to add a new shortcode

Setup

  • Name: SoundCloud
  • Tag Name: soundcloud
  • Categories: Web
  • Active: true
  • Tag Type: Inline
  • Description: Creates a SoundCloud track embed from just a SoundCloud URL.
  • Documentation: Paste code below
  • Parameters: See parameters below
  • Shortcode Markup: Paste code below (adjust as needed)
  • Enable Lava Commands: None

Documentation

This shortcode allows you to embed a fully customizable SoundCloud audio player in Rock RMS using just a standard SoundCloud link (no iframe code required). It supports options like autoplay, artwork display, download buttons, and UI styling — making it ideal for ministries that post podcasts, sermons, or worship tracks via SoundCloud. This gives content editors a clean, non-technical way to drop audio players into pages, content channels, and communications.

Embed a SoundCloud track.

Basic Usage:

{[ soundcloud url:'https://soundcloud.com/publisher/track' width:'100%' height:'auto' auto_play:'true' color:'#abcabc' buying:'false' sharing:'false' download:'true' show_artwork:'true' show_playcount:'true' show_user:'true' start_track:'0' single_active:'true' ]}

Parameters:

  • url (required) - The SoundCloud URL
  • auto_play (false) - Start playing the item automatically
  • color (#000000) - Color play button and other controls
  • buying (false) - Show/Hide buy buttons
  • sharing (true) - Show/Hide share buttons
  • download (true) - Show/Hide download buttons
  • show_artwork (true) - Show/Hide item's artwork
  • show_playcount (false) - Show/Hide number of track plays
  • show_user (true) - Show/Hide the uploader name
  • start_track (0) - A number from 0 to the playlist length which reselects the track in a playlist
  • single_active (true) - If set to false the multiple players on the page won't toggle each other off when playing
  • width (100%) - The width of the widget
  • height (auto) - The height of the widget

Parameters

  • url:
  • auto_play: false
  • color: #000000
  • buying: false
  • sharing: true
  • download: true
  • show_artwork: true
  • show_playcount: false
  • show_user: false
  • start_track:
  • single_active: true
  • width: 100%
  • height: auto

Shortcode Markup

{% assign wrapperId = uniqueid %}

{% assign embedURL = 'https://w.soundcloud.com/player/?url=' | Append:url | Trim %}

{% assign autoplay = auto_play | AsBoolean %}
{% if autoplay %}
    {% assign embedURL = embedURL | Append:'&auto_play=1' %}
{% else %}
    {% assign embedURL = embedURL | Append:'&auto_play=0' %}
{% endif %}

{% assign buying = buying | AsBoolean %}
{% if buying %}
    {% assign embedURL = embedURL | Append:'&buying=1' %}
{% else %}
    {% assign embedURL = embedURL | Append:'&buying=0' %}
{% endif %}

{% assign sharing = sharing | AsBoolean %}
{% if sharing %}
    {% assign embedURL = embedURL | Append:'&sharing=1' %}
{% else %}
    {% assign embedURL = embedURL | Append:'&sharing=0' %}
{% endif %}

{% assign download = download | AsBoolean %}
{% if download %}
    {% assign embedURL = embedURL | Append:'&download=1' %}
{% else %}
    {% assign embedURL = embedURL | Append:'&download=0' %}
{% endif %}

{% assign showartwork = show_artwork | AsBoolean %}
{% if showartwork %}
    {% assign embedURL = embedURL | Append:'&show_artwork=1' %}
{% else %}
    {% assign embedURL = embedURL | Append:'&show_artwork=0' %}
{% endif %}

{% assign showplaycount = show_playcount | AsBoolean %}
{% if showplaycount %}
    {% assign embedURL = embedURL | Append:'&show_playcount=1' %}
{% else %}
    {% assign embedURL = embedURL | Append:'&show_playcount=0' %}
{% endif %}

{% assign singleactive = single_active | AsBoolean %}
{% if singleactive %}
    {% assign embedURL = embedURL | Append:'&single_active=1' %}
{% else %}
    {% assign embedURL = embedURL | Append:'&single_active=0' %}
{% endif %}

{% if color != '' %}
    {% assign embedURL = embedURL | Append:'&color=' | Append:color %}
{% endif %}

{% if start_track != '' %}
    {% assign embedURL = embedURL | Append:'&start_track=' | Append:start_track %}
{% endif %}


<div id='{{ wrapperId }}'>
    <div class='soundcloud-embed-container'>
        <iframe width="{{width}}" height="{{height}}" scrolling="no" frameborder="no" allow="autoplay" src="{{embedURL}}"></iframe>
    </div>
</div>