{"id":393614,"date":"2026-10-27T15:05:32","date_gmt":"2026-10-27T15:05:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/klydexa-link-actions-for-acf\/"},"modified":"2026-10-27T15:04:55","modified_gmt":"2026-10-27T15:04:55","slug":"klydexa-link-actions-for-acf","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/klydexa-link-actions-for-acf\/","author":23506772,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"KlyDexa Link Actions for ACF","header_author":"KlyDexa","header_description":"Add actions to the ACF Link field: image gallery popup, video popup, shortcode popup, or a standard link. Lightweight and developer-friendly.","assets_banners_color":"2f5892","last_updated":"2026-10-27 15:04:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":80,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"klydexa","date":"2026-10-27 15:04:55","revision":3768861}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3768861,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3768861,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3768861,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3768861,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3768861,"resolution":"1","location":"assets","locale":"","width":1280,"height":900},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3768861,"resolution":"2","location":"assets","locale":"","width":1280,"height":1060},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3768861,"resolution":"3","location":"assets","locale":"","width":1280,"height":900},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3768861,"resolution":"4","location":"assets","locale":"","width":1280,"height":900},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3768861,"resolution":"5","location":"assets","locale":"","width":1280,"height":900}},"screenshots":{"1":"The Link Action field in the post editor with the action selector.","2":"Selecting and reordering gallery images.","3":"An image gallery popup on the front end.","4":"A video popup.","5":"Settings &gt; Link Actions for ACF, where administrators allow shortcodes."}},"plugin_section":[],"plugin_tags":[2211,288992,237,491,40266],"plugin_category":[59],"plugin_contributors":[275611],"plugin_business_model":[],"class_list":["post-393614","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-acf-link","plugin_tags-lightbox","plugin_tags-popup","plugin_tags-video-popup","plugin_category-utilities-and-tools","plugin_contributors-klydexa","plugin_committers-klydexa"],"banners":{"banner":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/banner-772x250.png?rev=3768861","banner_2x":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/banner-1544x500.png?rev=3768861","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/icon-128x128.png?rev=3768861","icon_2x":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/icon-256x256.png?rev=3768861","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/screenshot-1.jpg?rev=3768861","caption":"The Link Action field in the post editor with the action selector."},{"src":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/screenshot-2.jpg?rev=3768861","caption":"Selecting and reordering gallery images."},{"src":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/screenshot-3.jpg?rev=3768861","caption":"An image gallery popup on the front end."},{"src":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/screenshot-4.jpg?rev=3768861","caption":"A video popup."},{"src":"https:\/\/ps.w.org\/klydexa-link-actions-for-acf\/assets\/screenshot-5.jpg?rev=3768861","caption":"Settings &gt; Link Actions for ACF, where administrators allow shortcodes."}],"raw_content":"<!--section=description-->\n<p>KlyDexa Link Actions for ACF extends Advanced Custom Fields with standard links, image gallery popups, video modals and shortcode-powered interactive content using a lightweight, accessible frontend implementation.<\/p>\n\n<p>It adds one new field type, <strong>KlyDexa Link Actions<\/strong>. For each link, editors choose one of four actions:<\/p>\n\n<ul>\n<li><strong>Standard link<\/strong> \u2013 an ordinary link to a page on your site, another site, an email address or a phone number, optionally opening in a new tab.<\/li>\n<li><strong>Image gallery popup<\/strong> \u2013 images picked, removed and reordered in the WordPress Media Library, shown in an accessible popup with Previous and Next buttons, an image counter, keyboard and swipe navigation.<\/li>\n<li><strong>Video popup<\/strong> \u2013 a video from the Media Library (MP4, WebM or Ogg) or a YouTube or Vimeo video, played in a popup and stopped when the popup closes.<\/li>\n<li><strong>Shortcode popup<\/strong> \u2013 the output of a shortcode, for example a contact or newsletter form, in a popup. Only shortcodes an administrator has explicitly allowed can be used.<\/li>\n<\/ul>\n\n<p>ACF's own Link field is not changed in any way.<\/p>\n\n<h4>Lightweight and accessible<\/h4>\n\n<ul>\n<li>Uses the browser's native <code>&lt;dialog&gt;<\/code> element. No jQuery, slider library or popup library on the front end.<\/li>\n<li>One small script (under 5 KB gzipped) serves every Link Action on the page and is loaded only on pages that show a popup. Standard links load no JavaScript.<\/li>\n<li>Keyboard support: Enter or Space opens a popup, Escape closes it, arrow keys, Home and End move through a gallery. Focus returns to the link when the popup closes.<\/li>\n<li>Every popup has a labelled, always-visible close button. Animations are skipped for visitors who prefer reduced motion.<\/li>\n<li>Without JavaScript, a popup link jumps to the popup content shown inline on the page instead of doing nothing.<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>The plugin makes no remote requests itself, uses no external services, and collects no data.<\/p>\n\n<p>YouTube and Vimeo videos are embedded only when a visitor opens the popup. From that moment, the visitor's browser connects to YouTube (through the privacy-enhanced youtube-nocookie.com domain) or Vimeo (with \"do not track\" requested), and those services may set cookies or collect data under their own privacy policies. Mention this in your site's privacy policy if you use external videos.<\/p>\n\n<h4>Independent extension<\/h4>\n\n<p>KlyDexa Link Actions for ACF is developed by KlyDexa. It is not affiliated with, endorsed by or supported by the developers of Advanced Custom Fields. Advanced Custom Fields is not included and must be installed separately.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Advanced Custom Fields (free) or ACF PRO, version 6.0 or later.<\/li>\n<li>Install and activate KlyDexa Link Actions for ACF.<\/li>\n<li>In ACF, edit a field group and add a field of type <strong>KlyDexa Link Actions<\/strong> (in the Relational category).<\/li>\n<li>Optional: if editors should be able to show shortcodes in popups, go to <strong>Settings &gt; Link Actions for ACF<\/strong> and select the allowed shortcodes.<\/li>\n<li><p>Display the field in your theme:<\/p>\n\n<\/li>\n<\/ol>\n\n<p>Or set the field's Return format to \"Rendered HTML\" and use <code>the_field( 'my_link_action' )<\/code>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20work%20without%20acf%3F\"><h3>Does this plugin work without ACF?<\/h3><\/dt>\n<dd><p>The field type needs Advanced Custom Fields 6.0 or later, free or PRO. Without it, the plugin shows a notice to administrators and does nothing else.<\/p><\/dd>\n<dt id=\"which%20shortcodes%20can%20editors%20use%3F\"><h3>Which shortcodes can editors use?<\/h3><\/dt>\n<dd><p>None, until an administrator allows them under Settings &gt; Link Actions for ACF. Every user who can edit a Link Action field can then use the allowed shortcodes with any attributes, so allow only shortcodes that are safe for those users. Developers can also allow shortcodes with the <code>klydexa_link_actions_for_acf_allowed_shortcodes<\/code> filter.<\/p><\/dd>\n<dt id=\"will%20every%20shortcode%20work%20in%20a%20popup%3F\"><h3>Will every shortcode work in a popup?<\/h3><\/dt>\n<dd><p>No plugin can promise that. The shortcode is rendered on the server when the page loads and stays in place on the page, so ordinary forms keep working. However, some plugins load their scripts only on certain pages, measure their content when the page loads (which fails while the popup is hidden) or expect to appear only once per page. Test each shortcode you allow. See the developer documentation for the <code>kdlaa:open<\/code> event, which can be used to re-initialize such content.<\/p><\/dd>\n<dt id=\"which%20video%20services%20are%20supported%3F\"><h3>Which video services are supported?<\/h3><\/dt>\n<dd><p>YouTube and Vimeo page addresses, for example <code>https:\/\/www.youtube.com\/watch?v=\u2026<\/code>, <code>https:\/\/youtu.be\/\u2026<\/code> or <code>https:\/\/vimeo.com\/\u2026<\/code>. Embed codes and other services are not accepted.<\/p><\/dd>\n<dt id=\"does%20the%20video%20start%20automatically%3F\"><h3>Does the video start automatically?<\/h3><\/dt>\n<dd><p>When \"Start video when the popup opens\" is on (the default), playback starts after the visitor clicks the link, which counts as their request to play. Some browsers still require a second click, for example on mobile data-saving modes.<\/p><\/dd>\n<dt id=\"can%20i%20style%20the%20popup%3F\"><h3>Can I style the popup?<\/h3><\/dt>\n<dd><p>Yes. All classes start with <code>kdlaa-<\/code>, and colors, radius and widths are CSS custom properties on <code>.kdlaa-dialog<\/code>. You can also pass extra CSS classes to the link with the <code>class<\/code> argument of the render function.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20and%20optimization%20plugins%3F\"><h3>Does it work with caching and optimization plugins?<\/h3><\/dt>\n<dd><p>Yes. The markup does not depend on the visitor, and the script is a standard deferred footer script with no inline configuration. Excluding it from combining is not required.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20uninstall%20the%20plugin%3F\"><h3>What happens when I uninstall the plugin?<\/h3><\/dt>\n<dd><p>The shortcode allowlist setting is deleted. Link Action field values are your content and are kept in the database.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Add actions to the ACF Link field: image gallery popup, video popup, shortcode popup, or a standard link. Lightweight and developer-friendly.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/393614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=393614"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/klydexa"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=393614"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=393614"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=393614"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=393614"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=393614"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=393614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}