Media and attachments¶
SVG uploads¶
Loveshack enables SVG uploads, which WordPress blocks by default. This is what makes custom logos and social icons practical without shipping a plugin.
SVG is executable markup
An SVG can carry scripts. Only allow uploads from authors you trust, and treat the capability the same way you would treat allowing raw HTML.
Featured images¶
All four stream types support featured images. How they render in the stream is controlled per post type in the Customizer:
- Whether the featured image is displayed at all
- The stream image rendering mode
- Card appearance around the image
See Stream layout.
Video posts¶
Video posts are for embedded or uploaded video as the primary content. Their text
shows below the video: the Teaser Text on the stream card, cut to the configured
length when it falls back to the body text, and the body text on the post page,
with the Teaser Text standing in when there is no body text. The
video_hide_text_default setting, off by default, makes new video posts hide
their text so the video stands alone; the checkbox on each post overrides it.
Loveshack handles feed media so that video and image posts carry their media into RSS output rather than appearing as bare text.
File attachments¶
Posts can carry file attachments, stored in the post meta key:
exposed in code as LOVESHACK_FILE_ATTACHMENTS_META_KEY. Use the constant rather
than the literal string — see Constants.
Fonts and icons¶
The Inter font is loaded from Google Fonts when the Customizer body font setting is left at the theme default. It is not bundled in the theme package. Choosing a different font in the Customizer stops the external request.
Social icons ship as SVG files under assets/images/social/, sourced from Simple
Icons, Open Web Icons, and Wikimedia. Full attribution and license terms are in
the theme's readme.txt.