How I Made Hive Links (hive://) Work in WordPress and Elementor

13 comments

louis8818.9 K3 days agoPeakD5 min read

Hey everyone,
I wanted to share a quick tip for anyone who uses Hive Keychain and wants to let people take Hive actions directly from their website — especially if you use QR codes or buttons for things like event tickets.

https://files.peakd.com/file/peakd-hive/louis88/23xKxUaW2iTKxjXDbRLKBtGsyKFiZgaSELMhUKytMTUePHtWp62adCfXkzU65bCnkEQCH.png

📌 The Problem

WordPress uses a filter called kses_allowed_protocols to define which link protocols are "safe".
By default, http, https, mailto, etc. are allowed — but hive is not.
If you try to add a link like hive:// in a button or icon box, it just gets stripped away or removed completly when you save it - in the Frontend.
But sometimes we want to share Hive-Links for Transfers etc. and they should just work.

I noticed that it does work if you add a plain hive:// link in a normal text editor widget as raw HTML — but not in dedicated link fields like buttons or widgets like from Elementor Page-Builder.

📌 Why I Needed This

From time to time I have to deal with websites where I would like to integrate direct Hive links - e.g. pay for something in a store or book a ticket for an event and would like to pay with Keychain.

✅ The Solution

The fix is super simple...
WordPress filters which link protocols are allowed through an internal whitelist called kses.
If your protocol (like hive://) is not on that list, it’s removed to prevent abuse.

So all I needed to do was add hive to the allowed protocols.
And instead of messing with my functions.php or uploading extra plugin files, I decided to manage it easily with the Code Snippets plugin.

🗂️ The Snippet

Here’s the exact snippet I use:

/**
 * Allow the custom 'hive://' protocol in WordPress and Elementor links.
 *
 * This snippet can be added via the Code Snippets plugin instead of editing theme files.
 * It hooks into 'kses_allowed_protocols' to add 'hive' as a safe protocol.
 * Works for links in posts, pages, menus, widgets, and Elementor fields.
 *
 * @param array $protocols List of allowed protocols.
 * @return array Updated list with 'hive' included.
 */
function allow_hive_protocol_snippet( $protocols ) {
    $protocols[] = 'hive';
    return $protocols;
}
add_filter( 'kses_allowed_protocols', 'allow_hive_protocol_snippet' );

or simply without the explanation

function allow_hive_protocol_snippet( $protocols ) {
    $protocols[] = 'hive';
    return $protocols;
}
add_filter( 'kses_allowed_protocols', 'allow_hive_protocol_snippet' );

📌 How to use

  • Go to WP Admin → Snippets → Add New
  • Give your snippet a clear name, like Allow Hive Protocol
  • Paste the code above into the code field.
  • Choose Run snippet everywhere.
  • Save and activate.

https://files.peakd.com/file/peakd-hive/louis88/48Hh6GRXc3bJEdP8ydwjXrDJee8smQ2r9sfqEKP1xVxBxZU4aoBFWDgR35s9bgP8vQ.png
https://files.peakd.com/file/peakd-hive/louis88/23tHXAFWo8Nj1FcfFPA1Z5nRuGqVzux5ajCZDsYBdQms5FcaXn2bTHeRFu3c3b8YrGbYH.png

✅ That’s it!
No need to touch theme files or upload a custom plugin — all managed safely through Code Snippets Plugin. Wait... We need a Link to place! Therefore we go the Website from

:

https://files.peakd.com/file/peakd-hive/louis88/23wr9sHA39HxWr6NjT87fpPrRjdwnWqbSs4kzefB9oxnnqsHvSD6j869p7Gcy4NmJdMeN.png

qr.hive-keychain.com

Here we now have the option of generating our own ready-made links for transfers, delegations, witness votes, proxies and proposal votes, which also work with the Hive Keychain browser extension or the mobile app. This is also the page I use when I want to create links, e.g. for the buy button on a page. In the screenshot above you can see what the URL looks like. This cannot be pasted into the browser line and must really be available as a link. As an example, you can now click

. When you click, your keychain should open and ask if you want to vote for my Witness. Of course you say yes, because supporting my Witness is always good :).

Btw. This is the long Link for the above link:
hive://sign/op/WyJhY2NvdW50X3dpdG5lc3Nfdm90ZSIseyJ3aXRuZXNzIjoibG91aXMud2l0bmVzcyIsImFwcHJvdmUiOnRydWV9XQ..


And this the QR-Code:
https://files.peakd.com/file/peakd-hive/louis88/AJmrNppCWdL8D6nMDZxGGeNNX1CVZ7SeA5m7Hn6imEJiQE1kuXPuGZzN31nccgp.png

However, you can only use this QR code within the Hive Keychain app. So open the scanner in the app and then scan it. It takes a little while until it is recognized but it works, as you can see in the screenshot on the right.

https://files.peakd.com/file/peakd-hive/louis88/23xAJnFTnAZtSicCzXmBksq55bebN4mBXhppMfFWPi3jHxFep5natCNQk4ATykbyfLdDN.png


That should be all for now. I now have the possibility to create different hive links that work wonderfully with the Keychain Browser Extension and thus add a payment button to different pages that have nothing to do with HIVE, for example, and pay with Keychain HIVE/HBD. Furthermore the possibility to create a QR code for the link. Now I'll soon be thinking about how far it would be possible to integrate these functions into an online shop/merch store or SAAS tailored to HIVE, as the recurring transfers are very interesting. Maybe I'll also think about a solution for a Woocommerce integration so that payments can be made at the checkout with Woocommerce using HBD/HIVE (once the extension is installed and I have a way to query our awesome 3 second transactions on an external page to see if the transfer has actually gone through and the order is complete).

Until then - hope this helps some of you who are working on your Wordpress website.

Comments

Sort byBest