[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fm-LZ6e1oS02BJH56-iwF3k24Fbk5CndTZ_zwrY0uOrI":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":134,"fingerprints":274},"wp-speech-balloon","WP-Speech-Balloon","2.4","RA's_Tips4Life","https:\u002F\u002Fprofiles.wordpress.org\u002Ftips4life\u002F","\u003Cp>吹き出し会話を使いたい場所に「テンプレートコード」を貼り付けて、必要箇所に「画像URL」「アバターの名前」「文章」を書くだけで吹き出し会話が表示されます。\u003Cbr \u002F>\n吹き出しの種類は現在「左右各5種類ずつ」あります。\u003Cbr \u002F>\n吹き出しの種類を変更する方法もとても簡単で、「テンプレートコードの数字」を変えるだけで簡単に変更する事ができます。\u003C\u002Fp>\n\u003Cp>First, paste 「Template Code」 where you want to use a speech balloon. And just write 「Image URL」「Name of Avatar」「Text」 in the required place, speech balloon will be displayed.\u003Cbr \u002F>\nCurrently, there are 5 types of “pattern of speech balloon” left and right.\u003Cbr \u002F>\nThe way to change the “pattern of speech balloon” is also very easy, just change the number of the 「Template Code」.\u003C\u002Fp>\n\u003Ch3>Notice\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>このプラグインは “ob_start()” や “ob_end_flush()” を使用しているため、このプラグインを使用するとサーバーベースのキャッシュサービスと競合する可能性があり、それらのサーバーでの使用をサポートすることはできません。。\u003C\u002Fli>\n\u003Cli>This plugin uses “ob_start()” and “ob_end_flush()”. So use of this plugin may conflict with server based cache services, and cannot support it’s use on those servers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WP-Speech-Balloon 2.4 の使い方\u003C\u002Fh3>\n\u003Cp>【テンプレート】\u003Cbr \u002F>\n——————————▽\u003Cbr \u002F>\n・通常吹き出し(左パターン)\u003Cbr \u002F>\n[L1_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・通常吹き出し(左パターン グレー)\u003Cbr \u002F>\n[L1_gray_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・通常吹き出し(右パターン)\u003Cbr \u002F>\n[R1_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・通常吹き出し(右パターン グレー)\u003Cbr \u002F>\n[R1_gray_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・ぽわぽわ吹き出し(左パターン)\u003Cbr \u002F>\n[L2_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・ぽわぽわ吹き出し(左パターン グレー)\u003Cbr \u002F>\n[L2_gray_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・ぽわぽわ吹き出し(右パターン)\u003Cbr \u002F>\n[R2_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・ぽわぽわ吹き出し(右パターン グレー)\u003Cbr \u002F>\n[R2_gray_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・パステル&ステッチ吹き出し(左パターン)\u003Cbr \u002F>\n[L3_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・パステル&ステッチ吹き出し(左パターン グレー)\u003Cbr \u002F>\n[L3_gray_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・パステル&ステッチ吹き出し(右パターン)\u003Cbr \u002F>\n[R3_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・パステル&ステッチ吹き出し(右パターン グレー)\u003Cbr \u002F>\n[R3_gray_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・LINE風吹き出し(左パターン)\u003Cbr \u002F>\n[L4_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・LINE風吹き出し(右パターン)\u003Cbr \u002F>\n[R4_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・Twitter風吹き出し(左パターン)\u003Cbr \u002F>\n[L5_wsbStart][L_wsbAvatar][L_wsbName][L_wsbText][L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・Twitter風吹き出し(右パターン)\u003Cbr \u002F>\n[R5_wsbStart][R_wsbText][R_wsbAvatar][R_wsbName][R_wsbEnd]\u003Cbr \u002F>\n——————————▲\u003C\u002Fp>\n\u003Cp>【使い方】※「画像URL」、「アバターの名前」、「会話の内容」を書き換えて使います。\u003Cbr \u002F>\n——————————▽\u003Cbr \u002F>\n・通常吹き出し(左パターン)\u003Cbr \u002F>\n[L1_wsbStart][L_wsbAvatar]画像URL[L_wsbName]表示する名前[L_wsbText]会話の内容[L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・通常吹き出し(右パターン)\u003Cbr \u002F>\n[R1_wsbStart][R_wsbText]会話の内容[R_wsbAvatar]画像URL[R_wsbName]表示する名前[R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・ぽわぽわ吹き出し(左パターン)\u003Cbr \u002F>\n[L2_wsbStart][L_wsbAvatar]画像URL[L_wsbName]表示する名前[L_wsbText]会話の内容[L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・ぽわぽわ吹き出し(右パターン)\u003Cbr \u002F>\n[R2_wsbStart][R_wsbText]会話の内容[R_wsbAvatar]画像URL[R_wsbName]表示する名前[R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・パステル&ステッチ吹き出し(左パターン)\u003Cbr \u002F>\n[L3_wsbStart][L_wsbAvatar]画像URL[L_wsbName]表示する名前[L_wsbText]会話の内容[L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・パステル&ステッチ吹き出し(右パターン)\u003Cbr \u002F>\n[R3_wsbStart][R_wsbText]会話の内容[R_wsbAvatar]画像URL[R_wsbName]表示する名前[R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・LINE風吹き出し(左パターン)\u003Cbr \u002F>\n[L4_wsbStart][L_wsbAvatar]画像URL[L_wsbName]表示する名前[L_wsbText]会話の内容[L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・LINE風吹き出し(右パターン)\u003Cbr \u002F>\n[R4_wsbStart][R_wsbText]会話の内容[R_wsbAvatar]画像URL[R_wsbName]表示する名前[R_wsbEnd]\u003C\u002Fp>\n\u003Cp>・Twitter風吹き出し(左パターン)\u003Cbr \u002F>\n[L5_wsbStart][L_wsbAvatar]画像URL[L_wsbName]表示する名前[L_wsbText]会話の内容[L_wsbEnd]\u003C\u002Fp>\n\u003Cp>・Twitter風吹き出し(右パターン)\u003Cbr \u002F>\n[R5_wsbStart][R_wsbText]会話の内容[R_wsbAvatar]画像URL[R_wsbName]表示する名前[R_wsbEnd]\u003C\u002Fp>\n\u003Cp>※グレーモードは[○○_wsbStart]の部分を[○○_gray_wsbStart]に変えるとグレーモードをお使い頂けます。\u003Cbr \u002F>\n※「LINE風吹き出し」や「Twitter風吹き出し」にグレーモードはありません。\u003Cbr \u002F>\n——————————▲\u003C\u002Fp>\n\u003Cp>使い方などの詳細は以下のページをご覧ください。\u003C\u002Fp>\n\u003Cp>「WP-Speech-Balloon」の使い方\u003Cbr \u002F>\nhttps:\u002F\u002Ftips4life.me\u002Fwp-speech-balloon-how-to-use\u003C\u002Fp>\n\u003Cp>「WP-Speech-Balloon」のインストール方法\u003Cbr \u002F>\nhttps:\u002F\u002Ftips4life.me\u002Fwp-speech-balloon-install\u003C\u002Fp>\n\u003Cp>「WP-Speech-Balloon」のアップデート方法\u003Cbr \u002F>\nhttps:\u002F\u002Ftips4life.me\u002Fwp-speech-balloon-update\u003C\u002Fp>\n\u003Cp>▽ 更新履歴はこちら ▽\u003C\u002Fp>\n\u003Cp>https:\u002F\u002Ftips4life.me\u002Ftag\u002Fwp-speech-balloon\u003C\u002Fp>\n","WordPress の記事内で簡単に吹き出し会話を使えるプラグインです。AMPページでも通常ページと同じように吹き出し会話を使えます。 This is a plugin that makes it easy to use balloon conversation with WordPress.",400,3801,0,"2019-04-11T09:43:00.000Z","5.1.22","4.9.4","5.2.4",[19,20,21,22,23],"balloon","bubbles","chat","fukidashi","speech-balloon","https:\u002F\u002Ftips4life.me\u002Fwp-speech-balloon_2_4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-speech-balloon.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"tips4life",1,30,84,"2026-04-04T21:15:13.456Z",[37,55,74,96,115],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":13,"num_ratings":13,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":17,"tags":50,"homepage":53,"download_link":54,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"speech-balloon-maker","Speech Balloon Maker （ふきだしメーカー）","1.0.6","Densuke","https:\u002F\u002Fprofiles.wordpress.org\u002Fdensuke\u002F","\u003Cp>At your Edit Post view, use shortcode as [balloon-r] or [balloon-l].\u003C\u002Fp>\n\u003Cp>Change balloon style at ‘Tools’->’Speech Balloon Maker’ screen.\u003C\u002Fp>\n\u003Cp>You can also change style at shortcode parameter ex. [baloon-r name=’foo’ style=’border’ img=’https:\u002F\u002Ffoo.com\u002Fbar.jpg’]\u003C\u002Fp>\n","You can make speech balloon as you like.",200,4265,"2019-04-29T12:03:00.000Z","4.9.29","4.9",[19,51,22,23,52],"bubble","speech-bubble","https:\u002F\u002Fengineering.dn-voice.info\u002Fdensuke-wp-plugin\u002Fspeech-balloon-maker\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fspeech-balloon-maker.1.0.6.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":13,"downloaded":63,"rating":13,"num_ratings":13,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":71,"download_link":72,"security_score":73,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"hinagata-speech-balloon","Hinagata Speech Balloon","1.2.4","Ryouji Mineya","https:\u002F\u002Fprofiles.wordpress.org\u002Fmineyaryouji\u002F","\u003Cp>Hinagata Speech Balloon is a WordPress plugin that adds a flexible speech balloon block to the Gutenberg editor.\u003Cbr \u002F>\nIt is designed to let you manage “Presets” for your balloons, so you can easily reuse the same character or style across your site.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003Cbr \u002F>\n*   \u003Cstrong>Preset Management\u003C\u002Fstrong>: create up to 20 balloon presets.\u003Cbr \u002F>\n*   \u003Cstrong>Highly Customizable\u003C\u002Fstrong>: Set avatar images, names, colors, shapes (circle\u002Fsquare\u002Frounded), border styles, and more.\u003Cbr \u002F>\n*   \u003Cstrong>Block Editor Integration\u003C\u002Fstrong>: Select a preset from the block settings dropdown.\u003Cbr \u002F>\n*   \u003Cstrong>Dynamic Template\u003C\u002Fstrong>: Advanced users can edit the HTML output structure in the settings.\u003Cbr \u002F>\n*   \u003Cstrong>Import\u002FExport\u003C\u002Fstrong>: Easy JSON export for backup or migration.\u003C\u002Fp>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>This plugin uses npm and webpack to bundle JavaScript and CSS files.\u003Cbr \u002F>\nThe source code is located in the \u003Ccode>src\u003C\u002Fcode> directory.\u003C\u002Fp>\n\u003Cp>To install dependencies:\u003Cbr \u002F>\n    npm install\u003C\u002Fp>\n\u003Cp>To build the project:\u003Cbr \u002F>\n    npm run build\u003C\u002Fp>\n\u003Cp>To start development mode (watch):\u003Cbr \u002F>\n    npm start\u003C\u002Fp>\n\u003Cp>To create a release zip:\u003Cbr \u002F>\n    npm run plugin-zip\u003C\u002Fp>\n","Adds a highly customizable \"Speech Balloon\" block to the WordPress editor. Allows creating presets with avatars and inserting them as blocks.",248,"2026-03-07T04:26:00.000Z","6.9.4","5.8","5.6",[69,70,21,23],"avatar","block","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhinagata-speech-balloon.1.2.4.zip",100,{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":82,"downloaded":83,"rating":73,"num_ratings":84,"last_updated":85,"tested_up_to":65,"requires_at_least":86,"requires_php":87,"tags":88,"homepage":91,"download_link":92,"security_score":93,"vuln_count":94,"unpatched_count":13,"last_vuln_date":95,"fetched_at":28},"word-balloon","Word Balloon","4.23.1","YAHMAN","https:\u002F\u002Fprofiles.wordpress.org\u002Fback2nature\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fdev.word-balloon.com\u002Fen\u002Fword-balloon\u002F\" rel=\"nofollow ugc\">Word Balloon\u003C\u002Fa> will easy to add speech balloon in your post.\u003Cbr \u002F>\nThere’s a wide variety of speech balloon.\u003Cbr \u002F>\nOther than this, there are function to add  effect , filter, icon ,sound.\u003Cbr \u002F>\nSupport for Block editor(Gutenberg) & Classic Editor.\u003Cbr \u002F>\nTranslation ready and currently translated in Japanese(日本語).\u003C\u002Fp>\n\u003Ch3>Related links (English):\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.word-balloon.com\u002Fen\u002Fword-balloon-pro\u002F\" rel=\"nofollow ugc\">Word Balloon PRO\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Ch3>Related links (Japanese):\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.word-balloon.com\u002Fen\u002Fword-balloon\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.word-balloon.com\u002Fword-balloon\u002Fdemo\u002F\" rel=\"nofollow ugc\">Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.word-balloon.com\u002Fen\u002Fword-balloon-pro\u002F\" rel=\"nofollow ugc\">Word Balloon PRO\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n","Support for Block editor(Gutenberg) & Classic Editor.You will easy to add speech balloon in your post.",10000,364789,8,"2026-01-07T06:03:00.000Z","3.9.3","5.3",[19,51,21,89,90],"comic","speech","https:\u002F\u002Fdev.word-balloon.com\u002Fen\u002Fword-balloon\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fword-balloon.4.23.1.zip",97,3,"2024-06-19 00:00:00",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":33,"downloaded":104,"rating":73,"num_ratings":105,"last_updated":106,"tested_up_to":48,"requires_at_least":107,"requires_php":67,"tags":108,"homepage":113,"download_link":114,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"conversation-viewer-display-chat-bubbles","Conversation Viewer – Display Chat Bubbles","1.1","Ryder Damen","https:\u002F\u002Fprofiles.wordpress.org\u002Fryderdamen\u002F","\u003Cp>Conversation Viewer is a responsive WordPress plugin for displaying chat conversations between people as if in their native apps.\u003C\u002Fp>\n\u003Cp>It allows you to write up conversations between two, or groups of more than two people, without having to take screenshots. These conversations can be easily switched into various messaging app styles. There are a few currently supported styles.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Facebook Messenger (the default)\u003C\u002Fli>\n\u003Cli>Android Messages\u003C\u002Fli>\n\u003Cli>iOS Texting\u003C\u002Fli>\n\u003Cli>WhatsApp\u003C\u002Fli>\n\u003Cli>Snapchat\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With responsive CSS, these conversations look great on all screens, are more responsive and accessible than uploading screenshots.\u003C\u002Fp>\n\u003Ch3>Getting Started & Customization\u003C\u002Fh3>\n\u003Cp>For the complete documentation on how to do everything including example code, visit the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fryderdamen\u002FWP-Conversation-Viewer\" rel=\"nofollow ugc\">GitHub Readme Page\u003C\u002Fa>.\u003C\u002Fp>\n","A plugin for displaying chat bubbles on your site, like in their original messaging apps.",1928,2,"2018-03-09T20:11:00.000Z","3.8",[109,110,111,112,52],"chat-bubble","chat-bubbles","conversation-viewer","facebook-messenger","http:\u002Fryderdamen.com\u002Fprojects\u002Fconversation-viewer","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconversation-viewer-display-chat-bubbles.zip",{"slug":116,"name":117,"version":118,"author":119,"author_profile":120,"description":121,"short_description":122,"active_installs":13,"downloaded":123,"rating":13,"num_ratings":13,"last_updated":124,"tested_up_to":65,"requires_at_least":125,"requires_php":126,"tags":127,"homepage":132,"download_link":133,"security_score":73,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"audiotyped-ux","AudioTyped UX – Chat-Style Transcripts for Podcasts","1.5.0","Helmut Naber","https:\u002F\u002Fprofiles.wordpress.org\u002Faudiotyped\u002F","\u003Cp>AudioTyped UX provides clean, accessible, and structured transcript layouts for interviews, podcasts, co-host formats, research conversations, and other spoken-word content published on WordPress. The plugin improves readability through a chat-style layout with distinct speaker sections and optional avatars, helping readers follow conversations smoothly.\u003C\u002Fp>\n\u003Cp>Video AudioTyped UX demo:\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F6Uf4RMfmMr0?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>Traditional transcripts often appear as dense text blocks or hidden behind toggles. AudioTyped UX places transcripts front and center with a clear layout that supports accessibility and makes long-form conversations easier to navigate — including for deaf and hard-of-hearing users.\u003C\u002Fp>\n\u003Cp>All layouts are created using pure HTML, ensuring full SEO crawlability and compatibility with assistive technologies.\u003C\u002Fp>\n\u003Ch4>Why AudioTyped UX?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Improves readability of long conversations  \u003C\u002Fli>\n\u003Cli>Supports accessibility for deaf and hard-of-hearing users  \u003C\u002Fli>\n\u003Cli>Distinct speaker bubbles for clear separation  \u003C\u002Fli>\n\u003Cli>Works for interviews, podcasts, journalistic content, research, NGOs, and education  \u003C\u002Fli>\n\u003Cli>Fully HTML-based for optimal SEO  \u003C\u002Fli>\n\u003Cli>Lightweight and easy to style  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Who Is It For?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Podcasters  \u003C\u002Fli>\n\u003Cli>Journalists publishing interviews  \u003C\u002Fli>\n\u003Cli>Researchers working with qualitative data  \u003C\u002Fli>\n\u003Cli>NGOs sharing spoken-word content  \u003C\u002Fli>\n\u003Cli>Educators and academic projects  \u003C\u002Fli>\n\u003Cli>Corporate teams publishing internal or external transcripts  \u003C\u002Fli>\n\u003Cli>Bloggers and content creators  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Clean chat-style bubble layout  \u003C\u002Fli>\n\u003Cli>Optional speaker avatars  \u003C\u002Fli>\n\u003Cli>Clear speaker identification  \u003C\u002Fli>\n\u003Cli>Accessible HTML structure  \u003C\u002Fli>\n\u003Cli>SEO-friendly markup  \u003C\u002Fli>\n\u003Cli>Works with any theme  \u003C\u002Fli>\n\u003Cli>No external libraries required  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Accessibility & SEO\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Full search engine indexing  \u003C\u002Fli>\n\u003Cli>Screen-reader compatibility  \u003C\u002Fli>\n\u003Cli>Consistent structure for long transcripts  \u003C\u002Fli>\n\u003Cli>Stable, lightweight performance  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cp>Transcripts must follow a consistent speaker structure:\u003Cbr \u002F>\nHost:\u003Cbr \u002F>\nGuest:\u003C\u002Fp>\n","Chat-style transcript layouts with speaker bubbles for readable, SEO-friendly interviews on podcast & interview websites.",2935,"2025-12-19T12:01:00.000Z","5.4.2","7.0",[110,128,129,130,131],"interview","podcast","text","transcript","https:\u002F\u002Faudiotyped.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faudiotyped-ux.1.5.0.zip",{"attackSurface":135,"codeSignals":253,"taintFlows":260,"riskAssessment":261,"analyzedAt":273},{"hooks":136,"ajaxHandlers":152,"restRoutes":153,"shortcodes":154,"cronEvents":251,"entryPointCount":252,"unprotectedCount":13},[137,143,147],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","after_setup_theme","wsb_bufStart","wp-speech-balloon.php",45,{"type":138,"name":144,"callback":145,"file":141,"line":146},"shutdown","wsb_bufEnd",46,{"type":148,"name":149,"callback":150,"file":141,"line":151},"filter","the_content","wsb_auto_formatting_fix",167,[],[],[155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247],{"tag":156,"callback":157,"file":141,"line":158},"L1_wsbStart","sc_L1_wsbStart",50,{"tag":160,"callback":161,"file":141,"line":162},"L1_gray_wsbStart","sc_L1_gray_wsbStart",54,{"tag":164,"callback":165,"file":141,"line":166},"L2_wsbStart","sc_L2_wsbStart",58,{"tag":168,"callback":169,"file":141,"line":170},"L2_gray_wsbStart","sc_L2_gray_wsbStart",62,{"tag":172,"callback":173,"file":141,"line":174},"L3_wsbStart","sc_L3_wsbStart",66,{"tag":176,"callback":177,"file":141,"line":178},"L3_gray_wsbStart","sc_L3_gray_wsbStart",70,{"tag":180,"callback":181,"file":141,"line":182},"L4_wsbStart","sc_L4_wsbStart",74,{"tag":184,"callback":185,"file":141,"line":186},"L5_wsbStart","sc_L5_wsbStart",78,{"tag":188,"callback":189,"file":141,"line":190},"L_wsbAvatar","sc_L_wsbAvatar",82,{"tag":192,"callback":193,"file":141,"line":194},"L_wsbName","sc_L_wsbName",86,{"tag":196,"callback":197,"file":141,"line":198},"L_wsbText","sc_L_wsbText",90,{"tag":200,"callback":201,"file":141,"line":202},"L_wsbEnd","sc_L_wsbEnd",94,{"tag":204,"callback":205,"file":141,"line":206},"R1_wsbStart","sc_R1_wsbStart",98,{"tag":208,"callback":209,"file":141,"line":210},"R1_gray_wsbStart","sc_R1_gray_wsbStart",102,{"tag":212,"callback":213,"file":141,"line":214},"R2_wsbStart","sc_R2_wsbStart",106,{"tag":216,"callback":217,"file":141,"line":218},"R2_gray_wsbStart","sc_R2_gray_wsbStart",110,{"tag":220,"callback":221,"file":141,"line":222},"R3_wsbStart","sc_R3_wsbStart",114,{"tag":224,"callback":225,"file":141,"line":226},"R3_gray_wsbStart","sc_R3_gray_wsbStart",118,{"tag":228,"callback":229,"file":141,"line":230},"R4_wsbStart","sc_R4_wsbStart",122,{"tag":232,"callback":233,"file":141,"line":234},"R5_wsbStart","sc_R5_wsbStart",126,{"tag":236,"callback":237,"file":141,"line":238},"R_wsbText","sc_R_wsbText",130,{"tag":240,"callback":241,"file":141,"line":242},"R_wsbAvatar","sc_R_wsbAvatar",134,{"tag":244,"callback":245,"file":141,"line":246},"R_wsbName","sc_R_wsbName",138,{"tag":248,"callback":249,"file":141,"line":250},"R_wsbEnd","sc_R_wsbEnd",142,[],24,{"dangerousFunctions":254,"sqlUsage":255,"outputEscaping":257,"fileOperations":32,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":259},[],{"prepared":13,"raw":13,"locations":256},[],{"escaped":13,"rawEcho":13,"locations":258},[],[],[],{"summary":262,"deductions":263},"The wp-speech-balloon plugin, version 2.4, presents a generally strong security posture based on the provided static analysis. The absence of known CVEs, both current and historical, is a significant positive indicator.  Furthermore, the code exhibits good practices with 100% of SQL queries using prepared statements and 100% of outputs being properly escaped, which are crucial for preventing common vulnerabilities like SQL injection and cross-site scripting (XSS). The plugin also correctly avoids external HTTP requests, reducing potential attack vectors.  \n\nHowever, there are a few areas that warrant attention. The presence of 24 shortcodes constitutes a substantial attack surface, even though the current analysis shows no unprotected entry points. While no specific vulnerabilities were identified in the taint analysis, the lack of explicit nonce and capability checks on these shortcodes, or potentially other entry points not detailed, could become a risk if the shortcode functionality ever handles user-supplied data without proper sanitization or authorization.  The single file operation also warrants a closer look to ensure it is secure and doesn't expose any vulnerabilities. \n\nIn conclusion, wp-speech-balloon v2.4 appears to be a well-coded plugin with a good track record. Its adherence to prepared statements and output escaping is commendable. The main concern lies in the potential for vulnerabilities within the shortcode functionality, especially if it evolves to handle sensitive data without robust authorization and input validation mechanisms. The lack of explicit capability and nonce checks, despite the current lack of identified vulnerabilities, is a potential weakness that should be monitored, particularly in future updates.",[264,267,269,271],{"reason":265,"points":266},"Large attack surface (shortcodes)",5,{"reason":268,"points":266},"Missing nonce checks",{"reason":270,"points":266},"Missing capability checks",{"reason":272,"points":105},"Presence of file operations","2026-03-16T19:46:55.560Z",{"wat":275,"direct":282},{"assetPaths":276,"generatorPatterns":278,"scriptPaths":279,"versionParams":280},[277],"\u002Fwp-content\u002Fplugins\u002Fwp-speech-balloon\u002Fcss\u002Fstyle.php",[],[],[281],"wp-speech-balloon\u002Fcss\u002Fstyle.php?ver=",{"cssClasses":283,"htmlComments":308,"htmlAttributes":309,"restEndpoints":311,"jsGlobals":312,"shortcodeOutput":313},[284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307],"wsb","wsb-l","wsb-l1","wsb-l2","wsb-l3","wsb-l4","wsb-l5","wsb-r","wsb-r1","wsb-r2","wsb-r3","wsb-r4","wsb-r5","wsb-l1-gray","wsb-l2-gray","wsb-l3-gray","wsb-r1-gray","wsb-r2-gray","wsb-r3-gray","avaArea","avaImg","avaName","txtArea","wsbTxt",[],[310],"alt=\"avatar\"",[],[],[314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,323,325],"\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l1 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l1-gray \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l2 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l2-gray \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l3 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l3-gray \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l4 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-l wsb-l5 \">","\u003Cdiv class=\"avaArea\">\u003Cp class=\"avaImg\">\u003Cimg src=\"","\" width=\"70\" height=\"70\" alt=\"avatar\">\u003C\u002Fp>\u003Cp class=\"avaName\">","\u003C\u002Fp>\u003C\u002Fdiv>\u003Cdiv class=\"txtArea\">\u003Cp class=\"wsbTxt\">","\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r1 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r1-gray \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r2 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r2-gray \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r3 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r3-gray \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r4 \">","\u003Cdiv class=\"wsb\">\u003Cdiv class=\"wsb-r wsb-r5 \">","\u003Cdiv class=\"txtArea\">\u003Cp class=\"wsbTxt\">","\u003C\u002Fp>\u003C\u002Fdiv>\u003Cdiv class=\"avaArea\">\u003Cp class=\"avaImg\">\u003Cimg src=\""]