Are you using Wix’s music app or creating it from scratch? I can’t remember how customisable it is or how much structure it builds for you, or whether you’d need lots of code to use that for your purposes unfortunately.
But if you are creating this completely from scratch what I do is create 3 CMS collections:
Collection 1: “Releases” for albums/eps/whatever
I use this to list all the releases, cover art, details and date etc. Make sure to add a tag field which includes an easy to remember name, so if the album is called “Wix Forum” put a tag like wixforum or whatever.
Collection 2: “Songs”
I use this for the actual individual songs with fields for credits, lyrics etc. Make sure there is a tag field here too and again choose an easy tag name to remember.
Collection 3: “Track Listing”:
This one might seem overkill and it’s a bit annoying but it saves making repeats of the songs if they appear on multiple releases, especially if there are different remixes or versions on different releases you want to link through to just the 1 single song details page.
Here I have a field for the track numbers for each song on each release and then 2 tag fields, 1 for “song” and 1 for “releases” which you fill in the same as you did in their individual collections. You could use reference fields here but I really try and avoid them on Wix generally since if you move site or whatever it is really hard to get reference fields to copy across correctly and you end up having to fix many broken references… it’s easier imo to use tags which are permanent and you can import/export with no issues across site and platforms if needed in the future!
So the process is that on your individual “Releases” dynamic page you add tracklisting & songs datasets too. Use the tracklisting dataset to create your track list in a repeater and filter it by the releases dataset so both “name tags” match. Now it will only show the correct tracklisting of that dynamic release. BUT now you connect the actual song link in the repeater to the songs dataset instead of the default tracklisting dataset. I have it so you can click on the song title itself similarly to your example link, but you could have a “more details” button or icon, whatever you want to link to the individual dynamic Song pages etc. Now filter your songs dataset by the songs tag field in your tracklisting dataset so they match.
Now everything should connect through perfectly and only the songs on that release will show in the track list and when you click the link it’ll take to to that song page!
If you think you’ll never need to repeat the same song over many releases you can cut out the 3rd collection and just add a number field and releases tag field to the songs collection or a songs tag field to the releases collection and filter them together like that. This was too restrictive to me, but it might be less convoluted for most people’s needs. That’s up to the individual site and how you think it’d work best for you.
I’ve got things way more complicated much like the reference site you showed so if you want to take a look if there are any other unique features you’d like to try to adapt I can explain what I did to achieve it, I’ve used as little code as possible and spent many years refining to get everything working the way I want it and it’s always a work in progress to make a nicer user journey, but everything works perfectly for me:
https://themusingsofmaars.editorx.io/maars/discography/
P.S. I’ve already worked on a basic Wix Studio version of my site to make sure everything will work on there too and there were no problems, so it’ll work for your needs on that platform too, I’m just leaving my site as is until it gets auto migrated since I don’t want to recreate EVERYTHING from scratch or risk switching over manually and it getting broken in the process! 