{"id":263340,"date":"2025-11-28T17:56:58","date_gmt":"2025-11-28T17:56:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/inline-context\/"},"modified":"2026-03-21T06:05:10","modified_gmt":"2026-03-21T06:05:10","slug":"inline-context","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/inline-context\/","author":4333,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.7.3","stable_tag":"2.7.3","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Inline Context","header_author":"Joop Laan","header_description":"Add inline expandable context to selected text in the block editor with direct anchor linking. Click to reveal, click again to hide.","assets_banners_color":"89bdd8","last_updated":"2026-03-21 06:05:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/inline-context\/","header_author_uri":"https:\/\/profiles.wordpress.org\/joop\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":567,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.3.5":{"tag":"2.3.5","author":"joop","date":"2025-11-28 17:59:31"},"2.3.6":{"tag":"2.3.6","author":"joop","date":"2025-11-28 19:55:05"},"2.3.7":{"tag":"2.3.7","author":"joop","date":"2025-11-29 06:43:07"},"2.3.8":{"tag":"2.3.8","author":"joop","date":"2025-12-17 06:06:44"},"2.4.1":{"tag":"2.4.1","author":"joop","date":"2025-12-19 06:23:07"},"2.7.1":{"tag":"2.7.1","author":"joop","date":"2026-01-01 12:10:55"},"2.7.2":{"tag":"2.7.2","author":"joop","date":"2026-03-20 15:44:32"},"2.7.3":{"tag":"2.7.3","author":"joop","date":"2026-03-21 06:05:10"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3405470,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3405470,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3405470,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3405478,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3405478,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3487618,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"preferredVersions\":{\"php\":\"8.0\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"inline-context\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once 'wordpress\\\/wp-load.php';\\n\\n\\\/\\\/ Create default categories for inline context\\n$categories = array(\\n    array(\\n        'name' => 'Internal Article',\\n        'slug' => 'internal-article',\\n        'meta' => array(\\n            'icon_closed' => 'dashicons-admin-links',\\n            'icon_open' => 'dashicons-admin-links',\\n            'color' => '#0073aa'\\n        )\\n    ),\\n    array(\\n        'name' => 'External Article',\\n        'slug' => 'external-article',\\n        'meta' => array(\\n            'icon_closed' => 'dashicons-external',\\n            'icon_open' => 'dashicons-external',\\n            'color' => '#00a32a'\\n        )\\n    ),\\n    array(\\n        'name' => 'Definition',\\n        'slug' => 'definition',\\n        'meta' => array(\\n            'icon_closed' => 'dashicons-book',\\n            'icon_open' => 'dashicons-book-alt',\\n            'color' => '#826eb4'\\n        )\\n    ),\\n    array(\\n        'name' => 'Tip',\\n        'slug' => 'tip',\\n        'meta' => array(\\n            'icon_closed' => 'dashicons-lightbulb',\\n            'icon_open' => 'dashicons-lightbulb',\\n            'color' => '#f0b849'\\n        )\\n    )\\n);\\n\\n$created_terms = array();\\nforeach ( $categories as $cat ) {\\n    $term = wp_insert_term( $cat['name'], 'inline_context_category', array( 'slug' => $cat['slug'] ) );\\n    if ( ! is_wp_error( $term ) ) {\\n        foreach ( $cat['meta'] as $key => $value ) {\\n            update_term_meta( $term['term_id'], $key, $value );\\n        }\\n        $created_terms[$cat['slug']] = $term['term_id'];\\n    }\\n}\\n\\necho 'Demo categories created successfully: ' . count($created_terms);\\n?>\"},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once 'wordpress\\\/wp-load.php';\\n\\n\\\/\\\/ Get category IDs\\n$internal_term = get_term_by('slug', 'internal-article', 'inline_context_category');\\n$external_term = get_term_by('slug', 'external-article', 'inline_context_category');\\n$definition_term = get_term_by('slug', 'definition', 'inline_context_category');\\n$tip_term = get_term_by('slug', 'tip', 'inline_context_category');\\n\\n\\\/\\\/ Create reusable inline context notes with links\\n$notes = array(\\n    array(\\n        'title' => 'What is Blockchain?',\\n        'content' => '<p>A <strong>blockchain<\\\/strong> is a distributed ledger technology that maintains a secure and decentralized record of transactions. <a href=\\\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Blockchain\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Learn more about blockchain on Wikipedia<\\\/a>.<\\\/p>',\\n        'category' => $external_term ? array( $external_term->term_id ) : array(),\\n        'reusable' => true,\\n    ),\\n    array(\\n        'title' => 'Photosynthesis Explained',\\n        'content' => '<p>Photosynthesis is the process by which plants convert light energy into chemical energy, producing oxygen as a byproduct. For a detailed explanation, see <a href=\\\"#getting-started\\\">our Getting Started section below<\\\/a>.<\\\/p>',\\n        'category' => $internal_term ? array( $internal_term->term_id ) : array(),\\n        'reusable' => true,\\n    ),\\n    array(\\n        'title' => 'Machine Learning Definition',\\n        'content' => '<p><strong>Machine learning<\\\/strong> is a subset of artificial intelligence that enables computers to learn from data without being explicitly programmed. It uses algorithms to identify patterns and make predictions.<\\\/p>',\\n        'category' => $definition_term ? array( $definition_term->term_id ) : array(),\\n        'reusable' => true,\\n    ),\\n    array(\\n        'title' => 'Quick Start Tip',\\n        'content' => '<p><strong>Pro tip:<\\\/strong> You can create reusable notes and use them across multiple posts! Check out the <a href=\\\"\\\/wp-admin\\\/edit.php?post_type=inline_context_note\\\">Notes Library<\\\/a> in your admin panel to manage all your inline context notes.<\\\/p>',\\n        'category' => $tip_term ? array( $tip_term->term_id ) : array(),\\n        'reusable' => true,\\n    ),\\n);\\n\\n$note_ids = array();\\nforeach ( $notes as $note ) {\\n    $post_id = wp_insert_post( array(\\n        'post_title'   => $note['title'],\\n        'post_content' => $note['content'],\\n        'post_status'  => 'publish',\\n        'post_type'    => 'inline_context_note',\\n    ) );\\n    \\n    if ( $post_id && ! is_wp_error( $post_id ) ) {\\n        update_post_meta( $post_id, 'is_reusable', $note['reusable'] );\\n        update_post_meta( $post_id, 'used_in_posts', array() );\\n        update_post_meta( $post_id, 'usage_count', 0 );\\n        if ( ! empty( $note['category'] ) ) {\\n            wp_set_object_terms( $post_id, $note['category'], 'inline_context_category', false );\\n        }\\n        $note_ids[$note['title']] = $post_id;\\n    }\\n}\\n\\necho 'Created ' . count($note_ids) . ' reusable inline context notes with categories and links';\\n?>\"},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once 'wordpress\\\/wp-load.php';\\n\\n\\\/\\\/ Get the note IDs we just created\\n$blockchain_note = get_page_by_title( 'What is Blockchain?', OBJECT, 'inline_context_note' );\\n$photosynthesis_note = get_page_by_title( 'Photosynthesis Explained', OBJECT, 'inline_context_note' );\\n$ml_note = get_page_by_title( 'Machine Learning Definition', OBJECT, 'inline_context_note' );\\n$tip_note = get_page_by_title( 'Quick Start Tip', OBJECT, 'inline_context_note' );\\n\\n\\\/\\\/ Get category IDs for each note\\n$blockchain_cats = wp_get_object_terms( $blockchain_note->ID, 'inline_context_category', array('fields' => 'ids') );\\n$photosynthesis_cats = wp_get_object_terms( $photosynthesis_note->ID, 'inline_context_category', array('fields' => 'ids') );\\n$ml_cats = wp_get_object_terms( $ml_note->ID, 'inline_context_category', array('fields' => 'ids') );\\n$tip_cats = wp_get_object_terms( $tip_note->ID, 'inline_context_category', array('fields' => 'ids') );\\n\\n$blockchain_cat_id = ! empty( $blockchain_cats ) ? $blockchain_cats[0] : '';\\n$photosynthesis_cat_id = ! empty( $photosynthesis_cats ) ? $photosynthesis_cats[0] : '';\\n$ml_cat_id = ! empty( $ml_cats ) ? $ml_cats[0] : '';\\n$tip_cat_id = ! empty( $tip_cats ) ? $tip_cats[0] : '';\\n\\n\\\/\\\/ Create demo post using the actual notes\\n$post_content = '<!-- wp:paragraph -->\\n<p>Modern technology is rapidly evolving. The <a class=\\\"wp-inline-context\\\" data-note-id=\\\"' . ($blockchain_note ? $blockchain_note->ID : '') . '\\\" data-category-id=\\\"' . $blockchain_cat_id . '\\\" data-inline-context=\\\"' . esc_attr( $blockchain_note ? $blockchain_note->post_content : '' ) . '\\\" data-anchor-id=\\\"context-note-blockchain\\\" href=\\\"#context-note-blockchain\\\" role=\\\"button\\\" aria-expanded=\\\"false\\\">blockchain<\\\/a> is revolutionizing digital transactions and creating new possibilities for secure, decentralized systems.<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n\\n<!-- wp:paragraph -->\\n<p>In the natural world, <a class=\\\"wp-inline-context\\\" data-note-id=\\\"' . ($photosynthesis_note ? $photosynthesis_note->ID : '') . '\\\" data-category-id=\\\"' . $photosynthesis_cat_id . '\\\" data-inline-context=\\\"' . esc_attr( $photosynthesis_note ? $photosynthesis_note->post_content : '' ) . '\\\" data-anchor-id=\\\"context-note-photosynthesis\\\" href=\\\"#context-note-photosynthesis\\\" role=\\\"button\\\" aria-expanded=\\\"false\\\">photosynthesis<\\\/a> plays a crucial role in maintaining Earth&#8217;s atmosphere and supporting the entire ecosystem.<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n\\n<!-- wp:paragraph -->\\n<p>The concept of <a class=\\\"wp-inline-context\\\" data-note-id=\\\"' . ($ml_note ? $ml_note->ID : '') . '\\\" data-category-id=\\\"' . $ml_cat_id . '\\\" data-inline-context=\\\"' . esc_attr( $ml_note ? $ml_note->post_content : '' ) . '\\\" data-anchor-id=\\\"context-note-machine-learning\\\" href=\\\"#context-note-machine-learning\\\" role=\\\"button\\\" aria-expanded=\\\"false\\\">machine learning<\\\/a> has transformed modern technology and is powering innovations across every industry.<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n\\n<!-- wp:heading {\\\"level\\\":2} -->\\n<h2 class=\\\"wp-block-heading\\\" id=\\\"getting-started\\\">Getting Started<\\\/h2>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>Click any underlined term above to reveal its context note. Notice how some notes contain external links (opening in new tabs) while others have internal links (staying on the same page). <a class=\\\"wp-inline-context\\\" data-note-id=\\\"' . ($tip_note ? $tip_note->ID : '') . '\\\" data-category-id=\\\"' . $tip_cat_id . '\\\" data-inline-context=\\\"' . esc_attr( $tip_note ? $tip_note->post_content : '' ) . '\\\" data-anchor-id=\\\"context-note-tip\\\" href=\\\"#context-note-tip\\\" role=\\\"button\\\" aria-expanded=\\\"false\\\">Click here for a quick tip<\\\/a> about managing your notes.<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n\\n<!-- wp:paragraph -->\\n<p>These notes are created as reusable Custom Post Type entries that can be used across multiple posts. Try editing this post in the block editor to see how easy it is to search for and insert existing notes!<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n';\\n\\n$demo_post = array(\\n    'post_title'    => 'Welcome to Inline Context Demo',\\n    'post_content'  => $post_content,\\n    'post_status'   => 'publish',\\n    'post_author'   => 1,\\n    'post_type'     => 'post',\\n);\\n\\n$post_id = wp_insert_post( $demo_post );\\n\\nif ( ! $post_id || is_wp_error( $post_id ) ) {\\n    echo 'Failed to create demo post';\\n    return;\\n}\\n\\n\\\/\\\/ Update usage tracking for the notes\\n$notes_to_track = array(\\n    array( 'note' => $blockchain_note, 'count' => 1 ),\\n    array( 'note' => $photosynthesis_note, 'count' => 1 ),\\n    array( 'note' => $ml_note, 'count' => 1 ),\\n    array( 'note' => $tip_note, 'count' => 1 ),\\n);\\n\\nforeach ( $notes_to_track as $item ) {\\n    $note = $item['note'];\\n    if ( $note && ! is_wp_error( $note ) ) {\\n        \\\/\\\/ Get existing usage data\\n        $used_in = get_post_meta( $note->ID, 'used_in_posts', true );\\n        if ( ! is_array( $used_in ) ) {\\n            $used_in = array();\\n        }\\n        \\n        \\\/\\\/ Add this post ID if not already tracked\\n        if ( ! in_array( $post_id, $used_in, true ) ) {\\n            $used_in[] = $post_id;\\n        }\\n        \\n        \\\/\\\/ Update meta fields\\n        update_post_meta( $note->ID, 'used_in_posts', $used_in );\\n        update_post_meta( $note->ID, 'usage_count', count( $used_in ) );\\n    }\\n}\\n\\necho 'Demo post created with ID: ' . $post_id . ' using 4 reusable notes with categories and usage tracking';\\n?>\"},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once 'wordpress\\\/wp-load.php';\\n\\n\\\/\\\/ Get the demo post we just created\\n$demo_post = get_page_by_title( 'Welcome to Inline Context Demo', OBJECT, 'post' );\\n\\nif ( $demo_post ) {\\n    \\\/\\\/ Re-save the post to trigger WordPress save hooks and plugin sync\\n    wp_update_post( array(\\n        'ID' => $demo_post->ID,\\n        'post_content' => $demo_post->post_content,\\n    ) );\\n    \\n    echo 'Demo post re-saved with ID: ' . $demo_post->ID . ' to trigger usage tracking sync';\\n} else {\\n    echo 'Demo post not found for re-save';\\n}\\n?>\"},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"Inline Context Demo\",\"blogdescription\":\"Try the Inline Context plugin on WordPress Playground\"}}]}"}},"all_blocks":[],"tagged_versions":["2.3.5","2.3.6","2.3.7","2.3.8","2.4.1","2.7.1","2.7.2","2.7.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3423387,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3423387,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3423387,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3423387,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3423387,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3423387,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3423387,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3423387,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3423387,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Inline context note link with pill style","2":"Inline context note link with pill style expanded","3":"Inline context note link with pill style as tooltip","4":"Editor popover for adding inline context with category selection","5":"Modal window for writing an inline context note","6":"Search interface for inserting reusable notes","7":"Inline context note on the frontend (default expanded mode)","8":"Tooltip version of the inline note on the frontend","9":"Notes Library in the admin area showing usage count and linked posts"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[15354,2681,7530,3936,788],"plugin_category":[],"plugin_contributors":[251359],"plugin_business_model":[],"class_list":["post-263340","plugin","type-plugin","status-publish","hentry","plugin_tags-annotations","plugin_tags-context","plugin_tags-footnote","plugin_tags-inline","plugin_tags-tooltip","plugin_contributors-joop","plugin_committers-joop"],"banners":{"banner":"https:\/\/ps.w.org\/inline-context\/assets\/banner-772x250.png?rev=3405478","banner_2x":"https:\/\/ps.w.org\/inline-context\/assets\/banner-1544x500.png?rev=3405478","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/inline-context\/assets\/icon.svg?rev=3405470","icon":"https:\/\/ps.w.org\/inline-context\/assets\/icon.svg?rev=3405470","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-1.png?rev=3423387","caption":"Inline context note link with pill style"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-2.png?rev=3423387","caption":"Inline context note link with pill style expanded"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-3.png?rev=3423387","caption":"Inline context note link with pill style as tooltip"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-4.png?rev=3423387","caption":"Editor popover for adding inline context with category selection"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-5.png?rev=3423387","caption":"Modal window for writing an inline context note"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-6.png?rev=3423387","caption":"Search interface for inserting reusable notes"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-7.png?rev=3423387","caption":"Inline context note on the frontend (default expanded mode)"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-8.png?rev=3423387","caption":"Tooltip version of the inline note on the frontend"},{"src":"https:\/\/ps.w.org\/inline-context\/assets\/screenshot-9.png?rev=3423387","caption":"Notes Library in the admin area showing usage count and linked posts"}],"raw_content":"<!--section=description-->\n<p><strong>Inline Context<\/strong> is a powerful Block Editor enhancement that lets you create inline expandable notes or clean tooltip-style popovers anywhere in your content. It is ideal for <strong>content-rich websites<\/strong>, including editorial platforms, research sites, online magazines, documentation hubs, and educational blogs that rely on clear explanation without breaking the reader\u2019s focus.<\/p>\n\n<p>Instead of sending readers to glossary pages or external links, Inline Context allows you to provide definitions, references, clarifications, and annotations <em>in place<\/em> \u2014 keeping readers engaged and your content structured.<\/p>\n\n<p>Notes can be <strong>reusable<\/strong>, categorized, styled, centrally managed, and automatically updated everywhere they appear.<\/p>\n\n<p><a href=\"https:\/\/wordpress.org\/plugins\/inline-context\/?preview=1\">Check the live preview<\/a><\/p>\n\n<h4>Why this is valuable for content-heavy websites<\/h4>\n\n<p>Websites with substantial text often need:<\/p>\n\n<ul>\n<li>definitions and terminology<\/li>\n<li>source references<\/li>\n<li>background information<\/li>\n<li>contextual inline explanations<\/li>\n<li>mini footnotes without scrolling<\/li>\n<li>inline callouts, tips, or warnings<\/li>\n<\/ul>\n\n<p>Inline Context delivers all of this with a frictionless, accessible user experience. It helps readers stay focused, reduces navigation fatigue, and improves knowledge retention \u2014 especially in long articles or research-based content.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Highlight text in the Block Editor.<\/li>\n<li>Click <strong>Inline Context<\/strong>.<\/li>\n<li>Enter your note content (rich text supported).<\/li>\n<li>Optionally assign a category with custom icon &amp; color.<\/li>\n<li>Publish \u2014 your note appears inline or as a tooltip, depending on settings.<\/li>\n<\/ol>\n\n<p>You can also create <strong>reusable<\/strong> notes from a dedicated Custom Post Type. Updating a reusable note updates all instances site-wide.<\/p>\n\n<h3>Key Features<\/h3>\n\n<h4>Display modes<\/h4>\n\n<ul>\n<li>Inline expansion (reveals a small content panel)<\/li>\n<li>Tooltip popovers (floating contextual bubbles)<\/li>\n<li>Smart tooltip positioning to avoid off-screen display<\/li>\n<li>Direct anchor links (<code>#context-note-xxx<\/code>) for deep linking<\/li>\n<li>Auto-open on page load when accessed via link<\/li>\n<\/ul>\n\n<h4>Editor productivity<\/h4>\n\n<ul>\n<li>Reusable notes with global updates<\/li>\n<li>Notes Library with usage tracking (shows where each note is used)<\/li>\n<li>Quick Search inside the editor to insert existing notes<\/li>\n<li>Rich text support via ReactQuill (bold, italic, lists, links)<\/li>\n<li>Clean, integrated Rich Text toolbar button<\/li>\n<\/ul>\n\n<h4>Categories &amp; icons<\/h4>\n\n<ul>\n<li>Create unlimited categories (Definition, Reference, External Article, Tip, Warning, etc.)<\/li>\n<li>Choose from curated Dashicons or any of 300+ icons<\/li>\n<li>Separate icons for open and closed states<\/li>\n<\/ul>\n\n<h4>Styling &amp; customization<\/h4>\n\n<p>Full styling control from <strong>Settings \u2192 Inline Context<\/strong>:<\/p>\n\n<ul>\n<li><strong>NEW in v2.6<\/strong>: Five pre-configured color presets for one-click professional styling<\/li>\n<li>Choose from Modern Blue, Minimalist Gray, High Contrast, Warm Earth Tones, or Dark Mode<\/li>\n<li>All presets meet WCAG 2.1 AA accessibility standards<\/li>\n<li>Link colors, hover, and focus states<\/li>\n<li>Note padding, spacing, borders, backgrounds, shadows<\/li>\n<li>Tooltip appearance<\/li>\n<li>Chevron\/indicator styling<\/li>\n<li>Live interactive preview of all style changes<\/li>\n<\/ul>\n\n<h4>Accessibility &amp; security<\/h4>\n\n<ul>\n<li>ARIA support, focus lock, Escape key behavior<\/li>\n<li>Keyboard-navigable for both link and note<\/li>\n<li>DOMPurify sanitization of note content<\/li>\n<\/ul>\n\n<h3>Internationalization<\/h3>\n\n<p>Inline Context is fully translation-ready.<\/p>\n\n<h3>Examples &amp; inspiration<\/h3>\n\n<p>The idea for this plugin originated from a project with Ren\u00e9e Kool \u2014 a visual artist working in public art, film, and emerging media. She wanted to create a website where a single link could reveal additional content containing multiple related links. We looked at the Dutch journalism platform De Correspondent, which use subtle inline notes to provide context without interrupting the flow of reading. You can see examples of their inline notes in this article: <a href=\"https:\/\/decorrespondent.nl\/15887\/hoe-nederland-kampioen-deeltijdwerken-werd\/9053b712-3591-0002-29b3-8c7b69eae0c3\">Hoe Nederland kampioen deeltijdwerken werd<\/a><\/p>\n\n<h3>Source code<\/h3>\n\n<p>Inline Context uses <code>@wordpress\/scripts<\/code> with webpack and npm to build assets.<\/p>\n\n<p>Full source (including uncompiled JS and CSS) is available at:\n<a href=\"https:\/\/github.com\/jooplaan\/inline-context\">https:\/\/github.com\/jooplaan\/inline-context<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/inline-context<\/code>, or install via the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Configure categories and styling under <strong>Settings \u2192 Inline Context<\/strong>.<\/li>\n<li>In the Block Editor, select text and click <strong>Inline Context<\/strong>.<\/li>\n<li>Add your note content and choose a category (optional).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20classic%20editor%3F\"><h3>Does this work with the Classic Editor?<\/h3><\/dt>\n<dd><p>No. Inline Context is built specifically for the WordPress Block Editor (Gutenberg).<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20styles%3F\"><h3>Can I change the styles?<\/h3><\/dt>\n<dd><p>Yes. Extensive visual customization options are available under <strong>Settings \u2192 Inline Context \u2192 Styling<\/strong>.<\/p><\/dd>\n<dt id=\"is%20there%20a%20limit%20to%20the%20number%20of%20categories%3F\"><h3>Is there a limit to the number of categories?<\/h3><\/dt>\n<dd><p>No. Create as many categories as your content structure requires.<\/p><\/dd>\n<dt id=\"can%20i%20use%20any%20dashicon%3F\"><h3>Can I use any Dashicon?<\/h3><\/dt>\n<dd><p>Yes. You can type any Dashicon class name to use all 300+ icons.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.7.3 - March 21, 2026<\/h4>\n\n<ul>\n<li>FIX: Category icons now align correctly with text at all icon placement settings<\/li>\n<li>FIX: Category icon double-scaling issue causing icons to render at half the intended size<\/li>\n<\/ul>\n\n<h4>2.7.2 - March 20, 2026<\/h4>\n\n<ul>\n<li>FIX: Custom category icons now respond to size and placement settings<\/li>\n<li>FIX: Default chevron icon now responds to color and placement settings<\/li>\n<li>FIX: Tooltip hover mode no longer shows erratic show\/hide behavior<\/li>\n<li>FIX: Admin settings JS toggles now work (display mode, link style, preset warnings)<\/li>\n<li>NEW: Icon right margin CSS variable for theme.json and admin settings<\/li>\n<li>IMPROVED: Refactored icon rendering to use consistent HTML elements for both default and category icons<\/li>\n<li>IMPROVED: Fine-tuned icon placement values for top, middle, and bottom positions<\/li>\n<li>IMPROVED: Pill style always centers icons regardless of placement setting<\/li>\n<\/ul>\n\n<h4>2.7.1 - December 30, 2025<\/h4>\n\n<ul>\n<li>FIX: Keyboard shortcut Cmd+Shift+K now works correctly on first try for reusable notes<\/li>\n<li>IMPROVED: Documentation for automatic cleanup feature with WP-CLI command<\/li>\n<\/ul>\n\n<h4>2.7.0 - December 29, 2025<\/h4>\n\n<ul>\n<li>NEW: Export\/Import Settings - Backup and restore all plugin configurations as JSON<\/li>\n<li>NEW: Print Styles - Professional print formatting with automatic note expansion<\/li>\n<li>NEW: Footnote-style numbering for printed documents using CSS counters<\/li>\n<li>NEW: Import\/Export tab in admin settings with validation and error handling<\/li>\n<li>IMPROVED: Smart link URL display in print (shows URLs except for anchor links)<\/li>\n<li>IMPROVED: Print-optimized typography and colors for professional documents<\/li>\n<li>FIX: Export\/Import now properly handles headers to prevent HTML output issues<\/li>\n<\/ul>\n\n<h4>2.6.0 - December 27, 2025<\/h4>\n\n<ul>\n<li>NEW: Color preset system with five pre-configured professional color schemes<\/li>\n<li>NEW: Modern Blue (Default), Minimalist Gray, High Contrast, Warm Earth Tones, and Dark Mode presets<\/li>\n<li>NEW: Automatic preset detection and \"Custom\" indicator when values are modified<\/li>\n<li>NEW: Warning dialog before applying preset over custom settings<\/li>\n<li>IMPROVED: All presets meet WCAG 2.1 AA accessibility standards<\/li>\n<li>IMPROVED: One-click preset application with instant visual feedback<\/li>\n<\/ul>\n\n<h4>2.4.1 - December 19, 2025<\/h4>\n\n<ul>\n<li>IMPROVED: Documentation<\/li>\n<\/ul>\n\n<h4>2.4.0 - December 19, 2025<\/h4>\n\n<ul>\n<li>NEW: Pill-style link display option with button-like appearance<\/li>\n<li>NEW: WordPress 6.9+ Abilities API integration for AI assistant discovery<\/li>\n<li>NEW: Five REST API abilities for AI-powered content enhancement<\/li>\n<li>NEW: Context Library Panel in editor sidebar<\/li>\n<li>IMPROVED: Updated \"Tested up to\" WordPress 6.9<\/li>\n<\/ul>\n\n<p>For complete version history, see <a href=\"https:\/\/github.com\/jooplaan\/inline-context\/blob\/main\/changelog.txt\">changelog.txt<\/a><\/p>","raw_excerpt":"Add inline expandable notes or tooltips to provide context, definitions, and references without disrupting the reading flow.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/263340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=263340"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/joop"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=263340"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=263340"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=263340"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=263340"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=263340"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=263340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}