Author: dekode

  • Post type scroll

    Post type scroll

    Show post types in a scrollable list. Based on the dekode.no scroll component.

    The block

    The block allows you to select posts or select post type and display assigned posts in a scrollable swiper based list.

    The block uses T2 Featured card layout to display the posts.

    The block allows to control

    • Post type to fetch posts from
    • Manually select posts
    • Exclude current post from query if post type is selected.
    • The number of posts to show
    • The number of posts to show in the slider
    • Show or hide the block title
    • Add custom more link
    • Placement of read more link (top/ bottom)
    • Read more button style – based on registered core button styles.

    Orginally developed for Litex, Examples usage stage: https://litex-2025.dev09.dekodes.no/

    See more info:
    https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/post-type-scroll

  • QueryLoop: Featured Cards

    QueryLoop: Featured Cards

    Overrides the query loop block to work with T2 while also removing clutter. Supports multiple post types. Customizable through library.json.

    Customizing the block

    This block can be customized using the library.json file. The following options are available:

    • __experimentalMultiplePostTypes (bool): Whether to allow multiple post types. Default: false.
    • template (array): The innerblocks template.
    • allowedControls (array): The allowed controls for the block See list, To see the post per page use postCount to see full list of available controls see the code as documentation is not complete Link
    • defaultQuery (array): The default query for the block.
    • defaultVariationTitle (string): The title that will be outputted for the block.
    • defaultVariationDescription (string): The description that will be outputted for the block.
    • allowedColumns (array): The allowed columns for the block.

    See more details: https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/featured-cards-loop

  • Dekode Fields and Columns

    Dekode Fields and Columns

    This plugin generates admin page fields and admin table columns from registered post metaterm metauser meta and settings in WordPress. All you need to do is to add a field or column property when registering meta or setting keys with the native WordPress functions.

    For more details see docs:
    https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/dekode-fields

  • Image Step guide

    Image Step guide

    Wrapper block for step-by-step content with image on one side and editable inner blocks on the other.

    By default te plugin has no styling, it requires one.

    Styled screenshots are from see stage Example

    Features

    • displayType driven by library.json
    • optional editor switch for displayType
    • step content supports configurable allowed blocks and templates
    • native WordPress blockGap support on the wrapper
    • native WordPress Background and Text color support on the step block
    • step label prefix and visibility, configurable from library.json
    • image lightbox support (requires WordPress 6.4+), configurable from library.json

    See more info in docs: https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/image-step-guide

  • HubSpot Form

    HubSpot Form

    Easily embed HubSpot Forms without having to enable Custom HTML block to copy paste the script.

    The plugin adds HubSpot block.

    See more info: https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/hubspot-form

  • Dekode Post, Term and Meta Blocks

    Dekode Post, Term and Meta Blocks

    A WordPress plugin that provides blocks and block variations for rendering post propertiesterm properties, and meta fields directly in the block editor and on the front end. Per Egil Roksvaag is the owner of this plugin and responsible for maintenance and support.

    Reason Why

    WordPress ships with a set of post blocks (core/post-titlecore/post-excerptcore/post-featured-image, etc.) and a similar set of term blocks (core/term-namecore/term-descriptioncore/term-archive-link, etc.). Use these core blocks whenever they cover your needs.

    However, there are some cases where the core blocks fall short and you need enhanced features for displaying post, term or meta data:

    • Meta fields — Display registered post or term meta fields.
    • Additional properties — Show post and term properties not covered by core blocks, e.g. post type, post status or taxonomy name.
    • Display a post’s terms — Show term properties related to the current post in a term query loop or a single post template.
    • Display a term’s posts — Show post properties related to the current term in a term query loop or a single term template.
    • Post or term buttons — Render a post, term or meta field as a core button with dynamic text and link.
    • Post or term images — Render a post, term or meta field as a core image. In contrast to the core featured image block, it can display a fallback image when no featured image is set.
    • Filters and hooks — Backend and editor hooks for displaying custom properties or modifying the output.

    This plugin also provides a Text Group helper block for combining multiple post or term properties into a single line of text. Inside the group, you can use the included Inline Text block to insert static text or separators between the dynamic properties.

    Blocks and Variations

    dekode-library/post-property-text

    Renders a single post property — title, excerpt, date, author, type, status, slug, link, featured image ID, or any meta field — as text. Supports prefix, suffix, separator, tag name, text alignment, and optional linking to the post. Server-side rendered.

    dekode-library/term-property-text

    Renders a single term property — name, description, archive link, slug, ID, count, taxonomy name, or any meta field — as text. Supports prefix, suffix, separator, tag name, text alignment, and optional linking to the term archive. Server-side rendered.

    dekode-library/text-group

    A layout container block for grouping multiple text property blocks. Supports inline and block layouts with configurable gap. Inner inline-text blocks can be nested freely within the group.

    core/button — Post Property and Term Property variations

    Two variations of the core Button block that replace button text and the link URL with a resolved post or term property. The button text and link are rewritten server-side via WP_HTML_Tag_Processor, preserving all block markup and editor styles.

    core/image — Post Property and Term Property variations

    Two variations of the core Image block that replace the image source with a resolved post or term property (e.g. featured_media or a meta URL field). Server-side rendered.

    For more details see docs:
    https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/dekode-post-blocks

  • DK LLMS.txt

    DK LLMS.txt

    A WordPress plugin that generates an llms.txt file for your site, helping AI language models better understand your content.

    Features

    Automatic Generation

    • Generates llms.txt file on-the-fly at /llms.txt
    • Works seamlessly with WordPress Multisite
    • No manual file management required
    • No trailing slash redirects (clean URLs)

    High Performance

    • Smart caching – Content cached for 2 hours using WordPress transients
    • Auto-invalidation – Cache clears when posts are published, updated, or deleted
    • Optimized queries – Uses WP_Query with performance flags (no_found_rows, disabled meta/term caching)
    • Multisite-aware caching – Separate cache per site in multisite networks

    Flexible Configuration

    Configure everything from Settings > Reading > LLMS.txt Configuration:

    • Custom Description – Override site tagline with AI-specific description
    • Post Type Selection – Enable/disable specific post types (pages, posts, custom post types)
    • Before/After Content – Add custom markdown content before and after post sections
    • Automatically discovers all public post types

    Smart Content Output

    • Follows the official llms.txt specification
    • Includes site name, description, and content overview
    • Lists pages and posts with titles, URLs, and clean excerpts
    • Shortcodes stripped – Removes shortcode syntax from excerpts
    • Properly formatted markdown output

    Developer-Friendly

    Multiple filter hooks for customization:

    • dekode_llms_txt_post_types – Modify post types configuration
    • dekode_llms_txt_query_args – Customize query arguments per post type
    • dekode_llms_txt_before_sections – Add content before all sections
    • dekode_llms_txt_after_sections – Add content after all sections
    • dekode_llms_txt_before_post_list – Add content before individual post type lists

    Multisite Support

    Each site in a multisite network gets its own llms.txt file with site-specific content and separate cache.

    For more info see: https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/dekode-llms-txt

  •  Content Security Policy Manager

     Content Security Policy Manager

    A WordPress plugin for discovering, configuring, and enforcing Content-Security-Policy headers. Built for WordPress 6.4+ and PHP 8.1+.

    The plugin can be used for discovering and tightening an existing policy, or as a starting point for new projects. It emits both Content-Security-Policy-Report-Only and Content-Security-Policy headers so you can test in Report Only mode before enforcing.

    Important! Running in discovery mode on a live site will check every resource against the policy and may generate a large number of violation reports, and could significantly impact performance of the page. Use with caution on high-traffic sites. Prefferably run it for short periods of time whe needed.

    Features

    • Three modes — Disabled, Report Only (discover mode), and Enforce.
    • Violation log — Browsers report blocked resources to a REST endpoint; violations are stored in a custom DB table, grouped by origin and directive, and displayed in the admin UI.
    • Add to allowlist — One click adds the blocked origin to the correct directive in your policy.
    • Reporting API support — Emits both report-uri (legacy, Safari ≤15 fallback) and report-to csp-endpoint (modern batched Reporting API) so browsers buffer and batch violation reports instead of sending one HTTP request per violation.
    • Nonce injection — Optionally generates a per-request cryptographic nonce, injects it into the CSP header, and adds it to every <script> and <style> tag rendered by WordPress core APIs (requires WP 6.3+).
    • strict-dynamic support — Optional. When nonces are enabled, 'strict-dynamic' can be injected into script-src so scripts loaded by nonce-bearing scripts (e.g. GTM tags) are also trusted by modern browsers.
    • Violation retention — Configurable retention period (1-365 days). Automatic daily cleanup via WP-Cron. Cleanup only runs in Report Only mode — in Enforce mode violations are preserved as a rollback audit trail.
    • Export — Download violation log as JSON or CSV.
    • Safe defaults — A fresh install ships with a broad but valid starting policy (see Default policy) so Report Only mode produces meaningful reports immediately.

    See more info in readme: https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/csp-helper

  • Agenda Accordion

    Agenda Accordion

    Simple block T2-accordion like but allows you to set Description and time (or any text on a side)

    Block is fully accessible and keyboard-navigation ready.

  • Chatbase integration

    Chatbase integration

    What it does

    There are 2 features provided by this plugin:

    • Add the chat bubble embed on the page.
      • This can be enabled or disabled per page. This can be adjusted in the page settings in the editor.
    • Adds Chatbase search widget Gutenberg block. This will place a search widget on the page that connects to the Chatbase chatbot.

    For more info see readme https://github.com/DekodeInteraktiv/dekode-library/tree/main/library/dekode-chatbase