Thoughts on using WordPress for posting lyrics/chords

After further research and thinking, it appears that song sheets could be posted using a “Songs” category.

Posting Songs

A full song listing could then be displayed by selecting the “Songs” category. A custom template could be created to display them by title, artist, etc. and to also format them more compactly. MP3 files could be attached, and a plugin used to allow direct playback (like the 1-bit plugin).

The LeadSheet plugin will be needed to format lyrics/chords into a table to align and format them in ChordPro-like format.

Posting Lineups

Lineups can be handled in either of a couple ways:

  1. Create posts with the Lineup date in the title and category of “Lineups”. Like songs, these could be displayed using a custom template. A shortcode could be used to provide links to each associated song post. The benefit of this approach is that each lineup post could have discussions using comments.
  2. A custom page could be created to interface with a MySQL table to provide dynamic lineup data. I don’t think this approach would allow comments unless custom coded into the page template.

Action Items

I think I’ll pursue option 1. Items needed to implement this are:

  • Template for “Lineup” list and single category display.
    List could expand the upcoming date automatically, and optionally be used as the front page.
  • Plug-In to expand and format ChordPro.
  • ShortCode for use on Lineup posts to locate songs by name and display links to song posts.
    ShortCode could give song name, and an intelligent search used to locate song posts and MP3 media and provide one or more links to them. For example the shortcode [song name=”Here to Worship”] would result in <a href=”index.php?p=###>Lyrics</a> …
  • Page and template to display song usage:
    This would query to identify which songs have been played and how many times for any specified year. The CCLI # should be associated and displayed with each song also.

Leave a Reply

Your email address will not be published. Required fields are marked *