How to use a custom SVG like icon in the Reactions plugin?

AI-generated summary

The discussion revolves around customizing the Like icon in the Reactions plugin using a custom SVG. ckshen asks if it’s possible to upload a custom SVG for the icon, as their forum uses a knife and fork icon (from FontAwesome Pro), but only the ‘solid’ version is available in the free version. They tried uploading an SVG, but the icon doesn’t appear. Lilly shares a guide on replacing default SVG icons in themes. Canapin notes that while some icons like ‘thumbs-up’ work, others like ‘wrench’ or ‘link’ don’t render, and mentions that API-based icon changes may be overridden by the Reactions plugin settings. JammyDodger explains that the Reactions code may add a ‘far’ prefix, causing icons to disappear if no ‘far’ version exists.

Regarding the ability to customize the Like icon, i know from some of the earliest discussions we are instructed to only pick icons that have the ‘regular’ version (unliked) and the ‘solid’ version (liked) readily available.

Our forum has used an substitute Like icon (knife and fork- yes we are a food forum) for years, where the solid version is available in FontAwesome Free, but the regular version is only in Pro. It doesn’t make sense for us to pay $99 for the Pro plan for just one icon. Question is, are we able to upload our own SVG for the customized icon? Has anyone done it successfully?

I tried doing that, but no icon shows up. Hence the question. Thanks.

Hey ckshen,

I don’t have the answer, but it’s an interesting question.
I also noticed that it doesn’t work with many default icons. It will work with “thumbs-up” and will automatically put a filled icon when we click it, but for other icons like “wrench” or “link”, the icon doesn’t render.

It’s also worth mentioning that using the API to replace icons as it’s done here Change the Like Icon to 👍 for example seems overridden by the Reactions discourse reactions like icon setting.

I think the Reaction code adds a ‘far’ to things, which will make them go blank if there’s no far version: