[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fFe_JwdBojXNhL-w5DlVUAtyyUjSm-dF5GPjLcClGj44":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":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":151,"fingerprints":970},"adventurebook","Adventurebook","1.0.21","Mario J. Gaida","https:\u002F\u002Fprofiles.wordpress.org\u002Ficetear\u002F","\u003Cp>Adventurebook is a plugin that allows you to create interactive storybooks or roleplay-like adventure books on your WordPress site. With Adventurebook, you can craft engaging narratives where readers can make choices that influence the outcome of the story.\u003C\u002Fp>\n\u003Cp>Key Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Interactive Storytelling: Create stories with multiple paths and endings based on reader choices.\u003C\u002Fli>\n\u003Cli>Easy-to-Use Interface: User-friendly tools to design and manage your adventure books.\u003C\u002Fli>\n\u003Cli>Customizable Options: Tailor the appearance and functionality of your adventure books to fit your style.\u003C\u002Fli>\n\u003Cli>Multimedia Support: Enhance your stories with images. Add audio to pages that will be played automatically when the page is loaded (if your browser permits).\u003C\u002Fli>\n\u003Cli>Character and Item Management: For “Game”-type Adventurebooks, manage items and creatures that characters can interact with.\u003C\u002Fli>\n\u003Cli>Combat System: A simple turn-based combat system for “Game”-type Adventurebooks, allowing characters to engage with creatures.\u003C\u002Fli>\n\u003Cli>Script Editor: Create custom scripts to add dynamic elements to your adventure books.\u003C\u002Fli>\n\u003Cli>Responsive Design: Ensure your adventure books look great on all devices.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Whether you’re an author looking to publish interactive stories or a teacher wanting to create engaging learning materials, Adventurebook provides the tools you need to bring your narratives to life.\u003Cbr \u002F>\nGet started today and captivate your audience with immersive storytelling!\u003C\u002Fp>\n\u003Cp>See it in action:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Travel through Cologne (german) (Story-type): https:\u002F\u002Fkoeln.adventurebook.net\u003C\u002Fli>\n\u003Cli>Travel on the Camino (german) (Game-type): https:\u002F\u002Fcamino.gaida.de\u003C\u002Fli>\n\u003Cli>Relaxing Journey (english, incl. Google Translate) (Story-type): https:\u002F\u002Fadventurebook.net\u002Frelaxing-journey\u002F\u003C\u002Fli>\n\u003Cli>The Morning After (german, incl. Google Translate) (Story-type): https:\u002F\u002Fadventurebook.net\u002Fder-morgen-danach\u002F\u003C\u002Fli>\n\u003Cli>Play Demoworld (english, incl. Google Translate) (Game-type): https:\u002F\u002Fadventurebook.net\u002Fplay-demoworld\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The “Demoworld” Adventurebook is also included in the premium version of the plugin as demo content to help you get started.\u003C\u002Fp>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Col>\n\u003Cli>After activating the plugin, navigate to the ‘Adventure Books’ menu in your WordPress dashboard.\u003C\u002Fli>\n\u003Cli>Click on ‘Add New Adventure Book’ to start creating your adventure book frame. Just enter a title and maybe a short description.\u003C\u002Fli>\n\u003Cli>Save the adventure book.\u003C\u002Fli>\n\u003Cli>Add pages by editing your adventure book and using the ‘Add New Book Page’ button on the right side of the editor.\u003Cbr \u002F>\nAlternatively, you can manage your book pages using the ‘Book Pages’ menu. Be sure to set the filter to the correct book. \u003C\u002Fli>\n\u003Cli>\n\u003Cp>When editing a book page, you can add choices by using the ‘Add Decision Option’ button at the bottom.\u003C\u002Fp>\n\u003Cp>Each choice can link to another (existing) page in the book, allowing for branching narratives. Be sure to first create the target pages before linking them.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>You can add a single image to each book page using the ‘Book Page Image’ option in the editor.\u003C\u002Fli>\n\u003Cli>\n\u003Cp>After having added a decision to a page, you can restrict the choice to characters that have a specific item.\u003C\u002Fp>\n\u003Cp>This applies to Game-type Adventurebooks.\u003Cbr \u002F>\nTo do this, choose “Restriction Type” -> “Item” and then enter the code of the item that the character must have to be able to choose this option.\u003Cbr \u002F>\nE.g. if you restrict a decision to the item with code “key_gold”, only characters that have this item in their inventory can choose this option.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>How to setup a Game-type Adventurebook\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Create a page for character management with the shortcode \u003Ccode>[adventurebook_character_overview]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Set this page in the Adventurebook settings.\u003C\u002Fli>\n\u003Cli>Create a new Adventurebook of type “Game”.\u003C\u002Fli>\n\u003Cli>Create a page for the book with the shortcode \u003Ccode>[adventurebook id=\"X\"]\u003C\u002Fcode>, where X is the ID of your adventure book.\u003C\u002Fli>\n\u003Cli>The adventurebook will be embedded in this page.\u003C\u002Fli>\n\u003Cli>Create items in the “Adventurebook Items” menu. You can upload an image for the item and define stats. For details, see below.\u003C\u002Fli>\n\u003Cli>Create creatures in the “Adventurebook Creatures” menu. You can upload an image for the creature and define stats. For details, see below.\u003C\u002Fli>\n\u003Cli>Create book pages and add item spawns \u002F creature spawns to the pages. For details, see below.\u003C\u002Fli>\n\u003Cli>Set the starting page by selecting the bookpage of your choice on the Adventurebook edit page.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Items\u003C\u002Fh3>\n\u003Cp>Items are defined in the “Adventurebook Items” menu. Every item has a code, a name, a description, stats and an image.\u003Cbr \u002F>\nThe code is a unique human readable identifier for the item, e.g. “key_gold”.\u003Cbr \u002F>\nStats are depending on the chosen Combat System. In the free version, only the “Simple” combat system is available.\u003C\u002Fp>\n\u003Cp>E.g. a longsword could be defined by:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>code: sword_longsword\u003C\u002Fli>\n\u003Cli>name: Longsword\u003C\u002Fli>\n\u003Cli>description: A sharp longsword.\u003C\u002Fli>\n\u003Cli>stats: Slot=Weapon,Damage=10,Value=15\u003C\u002Fli>\n\u003Cli>image: (upload an image of a longsword)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Creatures\u003C\u002Fh3>\n\u003Cp>Creatures are defined in the “Adventurebook Creatures” menu. Every creature has a code, a name, a description, hostility, attackability, xp value, stats, loottable and an image.\u003Cbr \u002F>\nThe code is a unique human readable identifier for the creature, e.g. “goblin”.\u003Cbr \u002F>\nStats are depending on the chosen Combat System. In the free version, only the “Simple” combat system is available.\u003C\u002Fp>\n\u003Cp>E.g. a goblin could be defined by:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>code: goblin\u003C\u002Fli>\n\u003Cli>name: Goblin\u003C\u002Fli>\n\u003Cli>description: A small green goblin. Looks hostile.\u003C\u002Fli>\n\u003Cli>hostility: hostile\u003C\u002Fli>\n\u003Cli>attackability: can be attacked\u003C\u002Fli>\n\u003Cli>xp value: 5\u003C\u002Fli>\n\u003Cli>stats: Health=20,Damage=5,Armor=2\u003C\u002Fli>\n\u003Cli>loottable: sword_longsword:20:1:1,leather_armor:10:1:1\u003C\u002Fli>\n\u003Cli>image: (upload an image of a goblin)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The loottable defines which items the creature can drop when defeated. The format is:\u003Cbr \u002F>\n    item_code:chance:min_amount:max_amount\u003Cbr \u002F>\nE.g. \u003Ccode>sword_longsword:20:1:1\u003C\u002Fcode> means that the creature has a 20% chance to drop 1 longsword when defeated.\u003Cbr \u002F>\nFor gold\u002Fmoney, use the item code “money”.\u003Cbr \u002F>\nE.g. \u003Ccode>money:100:5:15\u003C\u002Fcode> means that the creature will always drop between 5 and 15 gold when defeated.\u003C\u002Fp>\n\u003Ch3>Combat Systems\u003C\u002Fh3>\n\u003Cp>To make the plugin more flexible, different combat systems can be chosen.\u003Cbr \u002F>\nCurrently, only the “Simple” combat system is available in the free version.\u003Cbr \u002F>\nIn the “Simple” combat system, the currency is set to “Gold”.\u003C\u002Fp>\n\u003Ch4>Character Stats\u003C\u002Fh4>\n\u003Cp>Character Stats for the “Simple” combat system are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Health (Defaults to 35)\u003C\u002Fli>\n\u003Cli>CurHealth\u003C\u002Fli>\n\u003Cli>Wealth (Gold) (Defaults to 10)\u003C\u002Fli>\n\u003Cli>XP (Defaults to 0)\u003C\u002Fli>\n\u003Cli>Slots (Defaults to ‘Weapon,Shield,Armor’)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>internal use only:\u003Cbr \u002F>\n* initiative (Defaults to 0)\u003Cbr \u002F>\n* attack (Defaults to 0)\u003Cbr \u002F>\n* armor (Defaults to 0)\u003Cbr \u002F>\n* defense (Defaults to 0)\u003C\u002Fp>\n\u003Ch4>Creature Stats\u003C\u002Fh4>\n\u003Cp>Creature Stats for the “Simple” combat system are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Health\u003C\u002Fli>\n\u003Cli>Damage\u003C\u002Fli>\n\u003Cli>Armor\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Item Stats\u003C\u002Fh4>\n\u003Cp>Item Stats for the “Simple” combat system are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Value\u003C\u002Fp>\n\u003Cp>how much (Gold) the item is worth when selling it to a shop\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Armor\u003C\u002Fp>\n\u003Cp>how much armor the item provides when equipped\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Damage\u003C\u002Fp>\n\u003Cp>how much damage the item provides when equipped\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Slot\u003C\u002Fp>\n\u003Cp>if the slot of an item matches any slot of a character, the item can be equipped by the character.\u003Cbr \u002F>\nIn the Simple Combat System, the available slots are ‘Weapon’, ‘Shield’ and ‘Armor’. Only one item can be equipped per slot.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A sword could have the slot ‘Weapon’ and damage 10.\u003C\u002Fli>\n\u003Cli>A shield could have the slot ‘Shield’ and armor 5.\u003C\u002Fli>\n\u003Cli>A leather armor could have the slot ‘Armor’ and armor 3.\u003C\u002Fli>\n\u003Cli>A chain mail could have the slot ‘Armor’ and armor 7.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If a player has a leather armor equipped, his armor stat is 3.\u003Cbr \u002F>\nIf he equips the chain mail, the leather armor will be unequipped and the armor stat will be 7.\u003C\u002Fp>\n\u003Ch4>Combat\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>When a character visits a page with creature spawns, he can choose to attack a creature.\u003C\u002Fli>\n\u003Cli>The combat is turn-based. For each turn, the initiative is calculated randomly.\u003C\u002Fli>\n\u003Cli>The character and the creature attack each other until one of them has 0 or less health.\u003C\u002Fli>\n\u003Cli>If the character wins, he gets XP and Gold (Wealth) according to the creature’s stats. The creature is removed from the page and will respawn after the set respawn time.\u003C\u002Fli>\n\u003Cli>If the character loses, he is moved back to the starting page \u002F his respawn point and his health is fully restored.\u003C\u002Fli>\n\u003Cli>If the initiative of the character is higher than the initiative of any hostile creature on the page, he surprises the creature and gets a free turn before the combat starts.\u003C\u002Fli>\n\u003Cli>If an enemy is not hostile, but can be attacked, the character can choose to attack it, turning it hostile.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Damage dealt: Damage Value (Attacker) – Armor Value (Defender), minimum 1 damage.\u003C\u002Fp>\n\u003Ch3>Technical Details\u003C\u002Fh3>\n\u003Cp>The following information is for the Adventurebook Type “Game”.\u003C\u002Fp>\n\u003Cp>Item Definitions (table \u003Ccode>_adventurebook_item_definitions\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>Every item in the world\u002Fgame has a definition. The definition is stored in the table \u003Ccode>_adventurebook_item_definitions\u003C\u002Fcode>.\u003Cbr \u002F>\nThe definition contains non-mutable information about the item.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>code\u003C\u002Fcode> (unique human readable identifier, used for restrictions e.g.)\u003C\u002Fli>\n\u003Cli>\u003Ccode>name\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>description\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>stats\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>image-url\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Item Spawns (table \u003Ccode>_adventurebook_item_spawns\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>Defines a spawn point for an item. The spawn point is a zone.\u003Cbr \u002F>\nWhen a new character is created, all items that have a spawn point will be added to the zone (page).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>item_id\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>page_id\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Items (table \u003Ccode>_adventurebook_items\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>Defines an item that a character can find in his adventure.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>code\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>character_id\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>location_id\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Scripts (table \u003Ccode>_adventurebook_scripts\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>Defines a script that can be attached to a page and is executed when the page is visited \u002F reloaded.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>code\u003C\u002Fcode> (unique human readable identifier, used to attach the script to a page)\u003C\u002Fli>\n\u003Cli>\u003Ccode>name\u003C\u002Fcode> (will not be displayed to the user)\u003C\u002Fli>\n\u003Cli>\u003Ccode>commands\u003C\u002Fcode> (the commands that will be executed, array in json format)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>SCRIPT COMMANDS\u003C\u002Fh3>\n\u003Cp>Scripts can be attached to book pages and are executed when the page is visited \u002F reloaded, e.g. each time the user clicks on a decision that leads to this page,\u003Cbr \u002F>\nor when attacking, equipping, unequipping, buying, selling, using an item.\u003Cbr \u002F>\nA script can be attached to an adventurebook page by selecting the script in the “Script” dropdown on the page edit screen.\u003Cbr \u002F>\nEvery script line needs a unique key (it is a jumpmark).\u003Cbr \u002F>\nThe second input field is the command. The third input field is optional and can contain parameters for the command, usually separated by “|”.\u003C\u002Fp>\n\u003Cp>The following script commands can be used in a script.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>output text\u003C\u002Fcode>\u003Cbr \u002F>\nOutputs the given text to the user. Supported placeholders:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>{var:varname}: Replaced with the value of the game variable “varname”.\u003C\u002Fli>\n\u003Cli>{stat:statname}: Replaced with the value of the character’s stat “statname”.\u003C\u002Fli>\n\u003Cli>{itemcount:itemcode}: Replaced with the count of the item “itemcode” in the character’s inventory.\u003C\u002Fli>\n\u003Cli>{charactername}: Replaced with the name of the character.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>output text|text color\u003C\u002Fcode>\u003Cbr \u002F>\nOutputs the given text to the user in the given color. Color can be a color name (e.g. “red”) or a hex color (e.g. “#ff0000”).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>show_key_link text|key\u003C\u002Fcode>\u003Cbr \u002F>\nOutputs the text as a clickable button and links it to a certain key in the script.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>add_item item_code\u003C\u002Fcode>\u003Cbr \u002F>\nGives the item with the given code to the character.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>remove_item item_code\u003C\u002Fcode>\u003Cbr \u002F>\nRemoves the item with the given code from the character.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>if_item_is_here_goto item_code|key\u003C\u002Fcode>\u003Cbr \u002F>\nIf the item with the given code is in the current location, jump to the given key in the script.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>heal amount\u003C\u002Fcode>\u003Cbr \u002F>\nHeals the character by the given amount. If the amount is -1, the character will be fully healed.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>stop\u003C\u002Fcode>\u003Cbr \u002F>\nStops the execution of the script and sets the key to 0, so that the script will be executed from the beginning the next time the page is visited.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Script Example\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>100     output         A wooden bench is here.\n110     showkeylink    Sit down and take a rest|200\n120     stop\n200     output         You sit down on the bench and take a rest. You feel better.|green\n210     heal           10\n220     stop\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Note: The premium version of the plugin comes with different premade scripts.\u003C\u002Fp>\n\u003Ch3>PLANNED\u003C\u002Fh3>\n","Lets you create interactive Storybooks or Roleplay-Like Adventurebooks.",10,596,0,"2025-11-06T09:53:00.000Z","6.8.5","5.2","7.2",[19,4,20,21,22],"adventure","interactive","storybook","storytelling","https:\u002F\u002Fadventurebook.net","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadventurebook.1.0.21.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"icetear",2,30,94,"2026-04-05T17:03:56.688Z",[36,60,86,109,132],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":15,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":55,"download_link":56,"security_score":57,"vuln_count":58,"unpatched_count":13,"last_vuln_date":59,"fetched_at":27},"web-stories","Web Stories","1.42.0","Google","https:\u002F\u002Fprofiles.wordpress.org\u002Fgoogle\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Famp.dev\u002Fabout\u002Fstories\u002F\" rel=\"nofollow ugc\">Web Stories\u003C\u002Fa> are a free, open-web, visual storytelling format for the web, enabling you to easily create visual narratives with engaging animations and tappable interactions, and  immerse your readers in great and fast-loading full-screen experiences.\u003C\u002Fp>\n\u003Ch3>Benefits of Web Stories\u003C\u002Fh3>\n\u003Cp>The Web Stories format puts features and capabilities at your fingertips to engage with your audience via the power of storytelling on the open web. Specifically, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Create beautiful and engaging content easily:\u003C\u002Fstrong> Web Stories make the production of stories as easy as possible from a technical perspective.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enjoy creative flexibility for editorial freedom and branding:\u003C\u002Fstrong> The Web Stories format comes with preset but flexible layout templates, standardized UI controls, and components for sharing and adding follow-on content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Share and link your stories on the open web:\u003C\u002Fstrong> Web Stories are part of the open web and can be shared and embedded across sites and apps without being confined to a single ecosystem.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Track and measure your stories:\u003C\u002Fstrong> Supports analytics and bookend capabilities for viral sharing and monetization.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Capture the attention of your readers by offering fast loading times to your stories:\u003C\u002Fstrong> Web Stories are lightning fast so that your audience stays engaged and entertained.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Engage with your readers via immersive storytelling:\u003C\u002Fstrong> Web Stories are a new and modern way to reach existing readers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Monetize effectively the beautiful and engaging stories you create:\u003C\u002Fstrong> Web Stories enable monetization capability for publishers using affiliate links. For advertisers, Stories is a way to reach a unique audience within a new storytelling experience.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Web Stories Editor\u003C\u002Fh3>\n\u003Cp>The Web Stories editor for WordPress brings together a robust set of story creation capabilities in a user-friendly, WYSIWYG creation tool. Some of the key features you can leverage out of the box are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>A visually rich and intuitive dashboard\u003C\u002Fstrong>, allowing you to easily navigate the story creation process\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Beautiful and expressive page templates\u003C\u002Fstrong> to you get your story creation process started quickly and smoothly\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy drag-and-drop capabilities\u003C\u002Fstrong>, making it easy to compose beautiful stories\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Convenient access to WordPress’ media library\u003C\u002Fstrong>, enabling you to grab your media assets right from the plugin dashboard as you create your stories\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable color and text style presets\u003C\u002Fstrong>, making it easy to tailor the style of your stories to the needs of your content strategy\u003C\u002Fli>\n\u003Cli>\u003Cstrong>And much more!\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Using the Web Stories editor for WordPress, you can easily create visual narratives with tappable interactions, and share freely across the web, or embed them on your existing content strategies. The Stories you create are yours in every way, as Web Stories belong to the open web, instead of being confined to any specific closed ecosystem or platform.\u003C\u002Fp>\n\u003Ch3>Audience: Everyone\u003C\u002Fh3>\n\u003Cp>Web Stories are for everyone! If you are a site owner, content creator, or publisher on the web, embracing the Web Stories format would be great as a way to enhance the quality of your content strategy, the value you bring to your readers, and consequently your chances of achieving sustainable success.\u003C\u002Fp>\n\u003Ch3>Terms of Service\u003C\u002Fh3>\n\u003Cp>By using this plugin, you agree to \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fterms\" rel=\"nofollow ugc\">Google’s Terms of Service\u003C\u002Fa>. By using third-party imagery and video provided by \u003Ca href=\"https:\u002F\u002Funsplash.com\u002Fterms\" rel=\"nofollow ugc\">Unsplash\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fcoverr.co\u002Flicense\" rel=\"nofollow ugc\">Coverr\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Ftenor.com\u002Flegal-terms\" rel=\"nofollow ugc\">Tenor\u003C\u002Fa>, you agree to adhere to the respective Terms of Service.\u003C\u002Fp>\n","Web Stories are a visual storytelling format for the open web which immerses your readers in fast-loading, full-screen, and visually rich experiences.",70000,2848703,84,85,"2025-05-15T13:13:00.000Z","6.6","7.4",[52,53,54,22,37],"amp","google","stories","https:\u002F\u002Fwp.stories.google\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fweb-stories.1.42.0.zip",95,3,"2024-12-11 00:00:00",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":75,"tags":76,"homepage":82,"download_link":83,"security_score":84,"vuln_count":58,"unpatched_count":13,"last_vuln_date":85,"fetched_at":27},"interactive-geo-maps","MapGeo – Interactive Geo Maps","1.6.28","MapGeo","https:\u002F\u002Fprofiles.wordpress.org\u002Finteractivegeomaps\u002F","\u003Cp>Create interactive maps with regions and coloured markers. You can display the world map, continent maps and single country maps.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Ffeatures\" rel=\"nofollow ugc\">Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdemo.tastewp.com\u002Finteractive-geo-maps\" rel=\"nofollow ugc\">Admin Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Fmaps\u002F\" rel=\"nofollow ugc\">Maps\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>More than 250 vector maps available\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>World map (with and without Antarctica)\u003C\u002Fli>\n\u003Cli>World map divided by continents (different variations)\u003C\u002Fli>\n\u003Cli>Maps of continents and regions (Africa, Asia, Caribbean, Central America, Europe, Latin America, Middle East, North America, Oceania, South America )\u003C\u002Fli>\n\u003Cli>US States divided by counties (California, Texas, Florida, New York and all the others)\u003C\u002Fli>\n\u003Cli>Mexico county maps\u003C\u002Fli>\n\u003Cli>Canada county maps\u003C\u002Fli>\n\u003Cli>Most countries in the world, including United States of America (USA), Germany, France, United Kingdom (UK), Netherlands, Spain, Australia, Italy, Poland, South Africa, Brazil, India, Japan and many others.\u003C\u002Fli>\n\u003Cli>Some countries with different map variations like France, divided by regions or departments, Portugal divided by districts or municipalities, among others.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Create your first interactive map in minutes! Use it to display your visited countries map, travel map, office locations, projects map, representatives map, statistics map, data visualization map or any other thing!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Fmaps\u002F\" rel=\"nofollow ugc\">Browse Full List of Maps\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create as many maps as you want\u003C\u002Fli>\n\u003Cli>Responsive and cross-device\u003C\u002Fli>\n\u003Cli>Color countries\u003C\u002Fli>\n\u003Cli>Add round coloured markers\u003C\u002Fli>\n\u003Cli>Set hover color change\u003C\u002Fli>\n\u003Cli>Set click actions, like open a new window\u003C\u002Fli>\n\u003Cli>Choose from different map projections (Mercator, Miller, NaturalEarth1, among others)\u003C\u002Fli>\n\u003Cli>Select which regions to display in a map\u003C\u002Fli>\n\u003Cli>Exclude specific regions from a map\u003C\u002Fli>\n\u003Cli>Display HTML tooltips on hover\u003C\u002Fli>\n\u003Cli>Zoom controls and Pan\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro only Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Colour regions and markers individually\u003C\u002Fli>\n\u003Cli>Change initial zoom and center\u003C\u002Fli>\n\u003Cli>Cluster markers\u003C\u002Fli>\n\u003Cli>Add Legend\u003C\u002Fli>\n\u003Cli>Custom images as markers\u003C\u002Fli>\n\u003Cli>Vector icons as markers\u003C\u002Fli>\n\u003Cli>Text Labels\u003C\u002Fli>\n\u003Cli>Display content on click outside the map\u003C\u002Fli>\n\u003Cli>Display content in a lightbox\u003C\u002Fli>\n\u003Cli>Group regions\u003C\u002Fli>\n\u003Cli>Create heatmaps (choropleth maps)\u003C\u002Fli>\n\u003Cli>Add lines connecting markers\u003C\u002Fli>\n\u003Cli>Overlay different maps (have US states map on world map for example)\u003C\u002Fli>\n\u003Cli>Populate map automatically from existing categories or Tags\u003C\u002Fli>\n\u003Cli>Advanced zoom options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Ffeatures\u002F\" rel=\"nofollow ugc\">Features Examples\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">Go Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>The plugin generates interactive, responsive, touch-enabled SVG maps which are embedded directly into your HTML5 pages and compatible with all modern browsers and devices.\u003C\u002Fp>\n\u003Ch4>Privacy Information & External Services\u003C\u002Fh4>\n\u003Cp>This plugin will build the maps using the \u003Ca href=\"https:\u002F\u002Fwww.amcharts.com\u002Fjavascript-charts\u002F\" rel=\"nofollow ugc\">amcharts visualization library\u003C\u002Fa> which provides hundreds of different maps. The plugin loads some files from their CDN to build the map and display it on your page. You won’t need to have a amcharts account for the maps to work. More information about their \u003Ca href=\"https:\u002F\u002Fwww.amcharts.com\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">amcharts Privacy Policy\u003C\u002Fa>.\u003Cbr \u002F>\nWhen you first install the plugin, you can choose to \u003Ca href=\"https:\u002F\u002Finteractivegeomaps.com\u002Fdocs\u002Fopt-in-to-non-sensitive-diagnostic-tracking\u002F\" rel=\"nofollow ugc\">opt-in to share non-sensitive data with Freemius\u003C\u002Fa>, a framework we use to collect data about your WordPress installation that will help us improve the plugin. This is optional and the plugin will still work if you don’t opt-in. It will not collect any data from your visitors.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.amcharts.com\u002F\" rel=\"nofollow ugc\">amcharts\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fgithub.com\u002Fsummerstyle\u002FjsonTreeViewer\" rel=\"nofollow ugc\">jsonTree\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fkraaden.github.io\u002Fautocomplete\u002F\" rel=\"nofollow ugc\">autocomplete\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fundraw.co\u002F\" rel=\"nofollow ugc\">unDraw\u003C\u002Fa> – Banner Illustrations\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fcodestarframework.com\u002F\" rel=\"nofollow ugc\">Codestar Framework\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjohnbillion\u002Fextended-cpts\" rel=\"nofollow ugc\">Extended CPTs\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Create interactive vector maps of the world, continents, any country in the world and specific regions, including individual US state county maps.",40000,692370,90,63,"2026-03-11T22:08:00.000Z","6.9.4","5.0","7.0",[77,78,79,80,81],"interactive-map","map","travel-map","us-map","world-map","https:\u002F\u002Finteractivegeomaps.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finteractive-geo-maps.1.6.28.zip",97,"2025-04-09 00:00:00",{"slug":87,"name":88,"version":89,"author":90,"author_profile":91,"description":92,"short_description":93,"active_installs":94,"downloaded":95,"rating":96,"num_ratings":97,"last_updated":98,"tested_up_to":73,"requires_at_least":99,"requires_php":100,"tags":101,"homepage":105,"download_link":106,"security_score":107,"vuln_count":58,"unpatched_count":13,"last_vuln_date":108,"fetched_at":27},"leaflet-map","Leaflet Map","3.4.3","bozdoz","https:\u002F\u002Fprofiles.wordpress.org\u002Fbozdoz\u002F","\u003Cp>Add a map generated with \u003Ca href=\"http:\u002F\u002Fleafletjs.com\u002F\" rel=\"nofollow ugc\">LeafletJS\u003C\u002Fa>: an open-source JavaScript library for mobile-friendly interactive maps. Map tiles are provided by default through \u003Ca href=\"http:\u002F\u002Fwww.openstreetmap.org\u002F\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa>, or \u003Ca href=\"https:\u002F\u002Fwww.mapquest.ca\u002F\" rel=\"nofollow ugc\">MapQuest\u003C\u002Fa> (with an app key).  Can be set per map with shortcode attributes or through the dashboard settings.\u003C\u002Fp>\n\u003Ch4>Maps\u003C\u002Fh4>\n\u003Cp>Simply create a \u003Cstrong>map\u003C\u002Fstrong> with:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Lookup an address with:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map address=\"chicago\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Know the latitude and longitude of a location? Use them (and a zoom level) with:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map lat=44.67 lng=-63.61 zoom=5]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Add a \u003Cstrong>marker\u003C\u002Fstrong> under your map shortcode, like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map]\n[leaflet-marker]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Want more? Make more (and fit the map to contain all of them):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map fitbounds]\n[leaflet-marker address=\"tokyo\"]\n[leaflet-marker address=\"oslo\"]\n[leaflet-marker address=\"cairo\"]\n[leaflet-marker address=\"toronto\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can even add \u003Cstrong>popups\u003C\u002Fstrong> (to any shape) with their names:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map fitbounds]\n[leaflet-marker address=\"tokyo\"]Tokyo[\u002Fleaflet-marker]\n[leaflet-marker address=\"oslo\"]Oslo[\u002Fleaflet-marker]\n...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Add a link to the popup messages the same way you would add any other link with the WordPress editor.\u003C\u002Fp>\n\u003Ch4>Other Shapes, GeoJSON, and KML\u003C\u002Fh4>\n\u003Cp>Add a line to the map by adding \u003Ccode>[leaflet-line]\u003C\u002Fcode>. You can specify the postions with a list separated by semi-colon \u003Ccode>;\u003C\u002Fcode> or bar \u003Ccode>|\u003C\u002Fcode> using lat\u002Flng: \u003Ccode>[leaflet-line latlngs=\"41, 29; 44, 18\"]\u003C\u002Fcode> or addresses: \u003Ccode>[leaflet-line addresses=\"Istanbul; Sarajevo\"]\u003C\u002Fcode>, or x\u002Fy coordinates for image maps.\u003C\u002Fp>\n\u003Cp>Add a circle to the map by adding \u003Ccode>[leaflet-circle]\u003C\u002Fcode>. You can specify the position using \u003Ccode>lat\u003C\u002Fcode> and \u003Ccode>lng\u003C\u002Fcode> and the radius in meters using \u003Ccode>radius\u003C\u002Fcode>. You can also customize the style using \u003Ca href=\"https:\u002F\u002Fleafletjs.com\u002Freference.html#path-option\" rel=\"nofollow ugc\">Leaflet’s Path options\u003C\u002Fa>. Example: \u003Ccode>[leaflet-circle message=\"max distance\" lng=5.117909610271454 lat=52.097914814706094 radius=17500 color=\"#0DC143\" fillOpacity=0.1]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Or you can add a geojson shape via a url (make sure you are allowed to access it if it’s not hosted on your own server): \u003Ccode>[leaflet-geojson src=\"https:\u002F\u002Fexample.com\u002Fpath\u002Fto.geojson\"]\u003C\u002Fcode>.  Add custom popups with field names; try out the default src file and fields like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[leaflet-map fitbounds]\n[leaflet-geojson]{name}[\u002Fleaflet-geojson]\n\n\nname is a property on that GeoJSON, and it can be accessed with curly brackets and the property name.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Image Maps\u003C\u002Fh4>\n\u003Cp>Alternatively, you could use a plain image for visitors to zoom and pan around with \u003Ccode>[leaflet-image src=\"path\u002Fto\u002Fimage\u002Ffile.jpg\"]\u003C\u002Fcode>.  See screenshots 3 – 5 for help setting that up.\u003C\u002Fp>\n\u003Ch4>More\u003C\u002Fh4>\n\u003Cp>Check out other examples on the Shortcode Helper page in the Leaflet Map admin section.\u003C\u002Fp>\n\u003Cp>Check out the \u003Cstrong>source code\u003C\u002Fstrong> and \u003Cstrong>more\u003C\u002Fstrong> details on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbozdoz\u002Fwp-plugin-leaflet-map\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>!\u003C\u002Fp>\n","Interactive maps and markers on your posts and pages with simple shortcodes.",30000,502403,98,58,"2026-01-16T05:05:00.000Z","4.6","",[20,102,78,103,104],"leaflet","mapquest","openstreetmap","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fleaflet-map\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fleaflet-map.3.4.3.zip",99,"2023-09-20 00:00:00",{"slug":110,"name":111,"version":112,"author":113,"author_profile":114,"description":115,"short_description":116,"active_installs":117,"downloaded":118,"rating":119,"num_ratings":120,"last_updated":121,"tested_up_to":75,"requires_at_least":122,"requires_php":100,"tags":123,"homepage":129,"download_link":130,"security_score":107,"vuln_count":31,"unpatched_count":13,"last_vuln_date":131,"fetched_at":27},"draw-attention","Interactive Image Map Plugin – Draw Attention","2.1.2","NSquared","https:\u002F\u002Fprofiles.wordpress.org\u002Fcroixhaug\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=draw-attention\" rel=\"nofollow ugc\">Draw Attention®\u003C\u002Fa> makes it easy to create \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffirst-interactive-image\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=interactive-image-maps\" rel=\"nofollow ugc\">interactive image maps\u003C\u002Fa> for your website. \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Fdrawing-tool\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=highlight-sections\" rel=\"nofollow ugc\">Highlight sections\u003C\u002Fa> of your images with hotspots so that users can click\u002Ftap or hover to read more information about each image map area. \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Fcheese-plate\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=show-more-content\" rel=\"nofollow ugc\">Show more content\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Fapartment-building\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=go-to-url\" rel=\"nofollow ugc\">direct the user to another URL\u003C\u002Fa> upon clicking or hovering your hotspot.\u003C\u002Fp>\n\u003Cp>The image map can contain more information such as images, text, shortcodes, gallery, video, audio, and more. Reveal more information on click\u002Ftap or hover.  Create custom shapes for interactive hotspots directly on your original image.\u003C\u002Fp>\n\u003Cp>Perfect for sketch maps, \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Ffloor-plan\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=floor-plans\" rel=\"nofollow ugc\">interactive floor plans for real estate\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Fcharts-and-graphs\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=infographics\" rel=\"nofollow ugc\">clickable infographics\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Ffurniture-demo.ssa.rocks\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=affiliate-content\" rel=\"nofollow ugc\">interactive affiliate content\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Fhouses\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=sketch-annotations\" rel=\"nofollow ugc\">sketch annotations\u003C\u002Fa>, image tutorials, product feature highlights on WooCommerce, and more.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffeature-overview\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=image-map-features\" rel=\"nofollow ugc\">Image Map Features\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffirst-interactive-image\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=unlimited-hotspots#creating-the-hotspots\" rel=\"nofollow ugc\">Draw Unlimited Hotspots\u003C\u002Fa>\u003C\u002Fstrong>: Highlight as many areas as you want in your image map\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Finteractive-image-editor\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=highlight-on-hover#show-more-info-on8230\" rel=\"nofollow ugc\">Highlight on Hover\u003C\u002Fa>\u003C\u002Fstrong>: Highlight different image hotspot areas when your site visitor moves their mouse over the interactive image\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffeature-overview\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=customizable-colors#highlight-styles\" rel=\"nofollow ugc\">Customizable Colors\u003C\u002Fa>\u003C\u002Fstrong>: Choose your own custom color scheme for the image map to match your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Finteractive-image-editor\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=show-more-info#hotspot-areas\" rel=\"nofollow ugc\">More Info on Click\u003C\u002Fa>\u003C\u002Fstrong>: When a highlighted area is clicked, show more information. Great to highlight points of interest on your image map\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Finteractive-image-editor\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=go-to-url#hotspot-areas\" rel=\"nofollow ugc\">Go to a URL\u003C\u002Fa>\u003C\u002Fstrong>: Optionally send a site visitor to another URL when clicking highlightable hotspots on your image map\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Responsive Design\u003C\u002Fh3>\n\u003Cp>Interactive image maps resize to fit your theme and the available screen size. Draw Attention works on all devices and adjusts your image to screens of any size. Works great on touch screens, such as tablet and mobile, too!\u003C\u002Fp>\n\u003Ch3>Accessible\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Finteractive-image-faq\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=accessibility#do-draw-attention-interactive-images-support-accessibility-standards\" rel=\"nofollow ugc\">Image maps are accessible\u003C\u002Fa> to everyone who visits your site, regardless of device or capabilities. Your content is accessible to screen readers. All highlightable hotspots can be accessed by keyboard commands. Anyone on any device can use your interactive image map.\u003C\u002Fp>\n\u003Ch3>SEO Friendly Clickable Annotations\u003C\u002Fh3>\n\u003Cp>Draw Attention is built with the principles of progressive enhancement in mind, so your content is accessible even to users who have JavaScript disabled and is SEO friendly, too! Draw Attention draws SVG shapes in modern browsers and falls back to a standard image map if JavaScript is disabled.\u003C\u002Fp>\n\u003Ch3>Easy to Draw Image Maps\u003C\u002Fh3>\n\u003Cp>Easy to draw the highlightable areas of your image map – and easy to edit the shapes later too! Create the image map right from your WordPress dashboard. \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Fdisplay-interactive-image\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=display-interactive-images\" rel=\"nofollow ugc\">Place your interactive image map into any page or post\u003C\u002Fa> with a simple shortcode, or use our convenient Beaver Builder module or WordPress Editor Block.\u003C\u002Fp>\n\u003Ch3>New and Improved Drawing Tool\u003C\u002Fh3>\n\u003Cp>Draw complex shapes or perfect circles and rectangles. Use the new zoom and pan feature to get extra precise drawings of your clickable hotspots. Easily edit the shapes whenever you’d like or start from scratch at the click of a button.\u003C\u002Fp>\n\u003Cp>The available \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Fdrawing-tool\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=drawing-tools\" rel=\"nofollow ugc\">drawing tools\u003C\u002Fa> are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Polygon\u003C\u002Fstrong>: Create a custom polygon shape of your preference\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rectangle\u003C\u002Fstrong>: – Create a rectangle shape of any size\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Circle\u003C\u002Fstrong>: Create a perfect circle\u003C\u002Fli>\n\u003C\u002Ful>\n\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\u002FNRHspIZjP-Q?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>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=pro-cta\" rel=\"nofollow ugc\">Upgrade to Draw Attention Pro\u003C\u002Fa> to get more features and customization options:\u003C\u002Fp>\n\u003Ch3>Create Multiple Interactive Image Maps (Pro only)\u003C\u002Fh3>\n\u003Cp>Need more than one interactive image map on your site? The Pro version allows unlimited highlightable areas on \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffeature-overview\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=unlimited-image-maps#features-in-the-pro-edition\" rel=\"nofollow ugc\">unlimited interactive images\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Annotation Layout Options (Pro only)\u003C\u002Fh3>\n\u003Cp>Show more info about highlighted image map areas in a variety of different layouts, including \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fbartending-101\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=lightbox\" rel=\"nofollow ugc\">lightbox\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Fmoustaches\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=tooltip\" rel=\"nofollow ugc\">tooltip\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Always Show Hotspots (Pro only)\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffeature-overview\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=always-show-hotspots#always-show-hotspots-for-image\" rel=\"nofollow ugc\">Allow the image map hotspot areas to stay highlighted\u003C\u002Fa> so visitors can see where they’re located, even when they aren’t clicked yet. The perfect way to show off your hotspots and make it clear that your images are interactive.\u003C\u002Fp>\n\u003Ch3>Define Multiple Highlight Styles (Pro only)\u003C\u002Fh3>\n\u003Cp>Use \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Fstyling-the-interactive-image\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=multiple-styles#define-multiple-highlight-styles\" rel=\"nofollow ugc\">multiple highlight colors\u003C\u002Fa> for the interactive image hotspots. If you choose to define multiple highlight styles, another section will pop up called, “Styles” where you can define your own color schemes within your image. Make each hotspot unique with it’s own color, border, and opacity settings!\u003C\u002Fp>\n\u003Ch3>20 Pre-Defined Color Palettes (Pro only)\u003C\u002Fh3>\n\u003Cp>Choose from one of \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffeature-overview\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=color-scheme#twenty-preset-color-schemes\" rel=\"nofollow ugc\">20 pre-defined color palettes\u003C\u002Fa> or use your own custom color scheme on the image maps.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=pro-cta\" rel=\"nofollow ugc\">Upgrade to Draw Attention Pro Today!\u003C\u002Fa> to get more features and customization options:\u003C\u002Fp>\n\u003Ch3>What could you make with Draw Attention?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Showcase (real estate)[https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Ffloor-plan\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=floor-plans] or a new property development. Give your visitors a virtual tour where they can explore floor plans and photos.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Fstyling-the-interactive-image\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=sell-booths#define-multiple-highlight-styles\" rel=\"nofollow ugc\">Sell booths\u003C\u002Fa> to exhibitors at your trade show or conference by showing them an engaging interactive map of the trade show floor.\u003C\u002Fli>\n\u003Cli>Make a product tour or \u003Ca href=\"https:\u002F\u002Fgame-demo.ssa.rocks\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=tutorial-documentation\" rel=\"nofollow ugc\">tutorial documentation\u003C\u002Fa> – explain your product by highlighting features in a visual way.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fdemos\u002Fcharts-and-graphs\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=infographics\" rel=\"nofollow ugc\">Interactive infographic\u003C\u002Fa> – annotate and call out important areas on your infographic and show more information about those points of interest.\u003C\u002Fli>\n\u003Cli>If you’re familiar with \u003Ca href=\"https:\u002F\u002Fwpdrawattention.com\u002Fguides\u002Ffirst-interactive-image\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=image-maps#interactive-images-galore\" rel=\"nofollow ugc\">HTML image maps\u003C\u002Fa>, we help you make those in a modern way that’s compatible with today’s devices & browsers.\u003C\u002Fli>\n\u003Cli>Add another dimension to your Blog content by using interactive images to explain concepts or display \u003Ca href=\"https:\u002F\u002Ffurniture-demo.ssa.rocks\u002F?utm_source=website&utm_medium=promo-link&utm_campaign=wordpress-org&utm_content=affiliate-content\" rel=\"nofollow ugc\">affiliate links\u003C\u002Fa> in an engaging way.\u003C\u002Fli>\n\u003C\u002Ful>\n\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\u002F74yvCnYQDPE?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>\n\u003Ch3>2.0.41 – 2025-10-28\u003C\u002Fh3>\n\u003Ch3>Fixes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Draw Attention widget doesn’t show up in Beaver Builder\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.32 – 2025-03-25\u003C\u002Fh3>\n\u003Ch3>Fixes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fix Conflict with WP MapIt not displaying drawing tools\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.26 – 2024-06-18\u003C\u002Fh3>\n\u003Ch3>Features and Improvements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Hid the move to trash button.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Widget live preview\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.24 – 2024-04-05\u003C\u002Fh3>\n\u003Ch3>Fixes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixed Newsletter component showing up on different screens.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.22 – 2024-03-19\u003C\u002Fh3>\n\u003Ch3>Features and Improvements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Adding News Letter Notice to Draw Attention\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.17 – 2023-11-07\u003C\u002Fh3>\n\u003Ch3>Features and Improvements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Tested up to WP 6.4\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.16 – 2023-10-29\u003C\u002Fh3>\n\u003Ch3>Features and Improvements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Add nonce checks for additional security\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.15 – 2023-10-19\u003C\u002Fh3>\n\u003Ch3>Fixes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fix disclosed vulnerability affecting Contributor-level users\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.14 – 2023-08-12\u003C\u002Fh3>\n\u003Ch3>Features and Improvements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Tested up to WP 6.3\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.13 – 2023-06-25\u003C\u002Fh3>\n\u003Ch3>Fixes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fix PHP warning in CMB2 library\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features and Improvements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Prevent conflicts with other plugins that use the leaflet library\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.0.12 – 2023-05-26\u003C\u002Fh3>\n\u003Cp>For older changelog entries, please see the \u003Ca href=\"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fdraw-attention\u002Ftrunk\u002FCHANGELOG.md\" rel=\"nofollow ugc\">additional changelog.txt file\u003C\u002Fa> delivered with the plugin.\u003C\u002Fp>\n","Create interactive images with clickable hotspots, using modern image maps for WordPress. Perfect for floor plans, infographics, maps, and more.",20000,947130,96,113,"2026-02-17T17:25:00.000Z","3.5.1",[124,125,126,127,128],"floor-plan","hotspot","image-map","image-maps","interactive-images","https:\u002F\u002Fwpdrawattention.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdraw-attention.2.1.2.zip","2023-10-24 00:00:00",{"slug":133,"name":134,"version":135,"author":136,"author_profile":137,"description":138,"short_description":139,"active_installs":140,"downloaded":141,"rating":25,"num_ratings":142,"last_updated":143,"tested_up_to":73,"requires_at_least":144,"requires_php":75,"tags":145,"homepage":148,"download_link":149,"security_score":119,"vuln_count":58,"unpatched_count":13,"last_vuln_date":150,"fetched_at":27},"open-user-map","Open User Map","1.4.34","100plugins","https:\u002F\u002Fprofiles.wordpress.org\u002F100plugins\u002F","\u003Cp>Create a custom map featuring your own locations or an interactive map where anyone can add location pins without registering. New locations will wait for your approval before getting published.\u003C\u002Fp>\n\u003Cp>The map is based on \u003Ca href=\"https:\u002F\u002Fleafletjs.com\u002F\" rel=\"nofollow ugc\">Leaflet Map JS\u003C\u002Fa> and offers you many free map and marker styles. You do not need an API Key, Access Token or any other external registration (unlike Google Maps). Additionally you have access to awesome MapBox map styles.\u003C\u002Fp>\n\u003Cp>🔥 \u003Ca href=\"https:\u002F\u002Fwww.open-user-map.com\u002Fdemo\u002F\" rel=\"nofollow ugc\">See Live Demos\u003C\u002Fa> | 🚀 \u003Ca href=\"https:\u002F\u002Fcheckout.freemius.com\u002Fmode\u002Fdialog\u002Fplugin\u002F9083\u002Fplan\u002F16065\u002F?trial=free\" rel=\"nofollow ugc\">Start 7-day PRO Trial (No Credit Card)\u003C\u002Fa> | 📖 \u003Ca href=\"https:\u002F\u002Fwww.open-user-map.com\u002F\" rel=\"nofollow ugc\">More Info\u003C\u002Fa> | ❓ \u003Ca href=\"https:\u002F\u002Fwww.open-user-map.com\u002Fsupport\u002Fknowledge-base\u002F\" rel=\"nofollow ugc\">Help\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Why Choose Open User Map?\u003C\u002Fh4>\n\u003Cp>✅ \u003Cstrong>Fully interactive\u003C\u002Fstrong> – let visitors add pins instantly!\u003Cbr \u002F>\n✅ \u003Cstrong>No API keys required\u003C\u002Fstrong> – avoid Google Maps restrictions.\u003Cbr \u002F>\n✅ \u003Cstrong>Supports multiple map styles\u003C\u002Fstrong> – including MapBox, and GDPR-friendly OpenStreetMap.\u003Cbr \u002F>\n✅ \u003Cstrong>Powerful search options\u003C\u002Fstrong> – live search, address search & category filtering.\u003Cbr \u002F>\n✅ \u003Cstrong>Customizable forms & fields\u003C\u002Fstrong> – add multiple images, videos, custom descriptions, and more!\u003Cbr \u002F>\n✅ \u003Cstrong>Works with Gutenberg, Elementor & Shortcodes\u003C\u002Fstrong> – easily embed maps anywhere.\u003Cbr \u002F>\n✅ \u003Cstrong>Perfect for directories, community maps, travel blogs, and business locations.\u003C\u002Fstrong>\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\u002FFRUkzKSZeL8?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>🍿 Watch Video on YouTube: \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=FRUkzKSZeL8&ab_channel=100plugins\" rel=\"nofollow ugc\">What is Open User Map?\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>With Open User Map, you can easily create:\u003C\u002Fh4>\n\u003Cp>📍 \u003Cstrong>A Simple Custom Map\u003C\u002Fstrong> – Show only your own marker pins (no user submissions).\u003Cbr \u002F>\n👥 \u003Cstrong>A Crowdsourced Interactive Map\u003C\u002Fstrong> – Let visitors add new locations with names, descriptions, images and videos.\u003Cbr \u002F>\n📡 \u003Cstrong>A Store Locator\u003C\u002Fstrong> – Showcase business locations and allow users to search for nearby places.\u003Cbr \u002F>\n🔎 \u003Cstrong>A Filterable Map\u003C\u002Fstrong> – Add categories & custom fields to organize locations.\u003Cbr \u002F>\n😎 \u003Cstrong>Personalized Maps\u003C\u002Fstrong> – Offer individual maps to your signed in users\u003C\u002Fp>\n\u003Ch4>🌏 How to create a Simple Map\u003C\u002Fh4>\n\u003Cp>Integrate a customized and clear map showcasing only your own location markers, without the option for other users to add new locations. Additional features will be deactivated by default.\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\u002F7nPKNg7f0Qs?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>🍿 Watch Video on YouTube: \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7nPKNg7f0Qs&ab_channel=100plugins\" rel=\"nofollow ugc\">How to create a Simple Map\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>👩🏾‍🚀🤵👩🏻‍🎤👩🏽‍🌾👩🏿‍💻 How to create an Interactive Map\u003C\u002Fh4>\n\u003Cp>Create a community map! Visitors to your page can add new location markers to the map. You will receive a notification to approve each location before it is published. Your visitors can \u003Cstrong>search for addresses or markers\u003C\u002Fstrong> worldwide to quickly find the right spots. You can add \u003Cstrong>custom fields\u003C\u002Fstrong> and descriptions to the form to collect the data you need. Image, Video and Audio uploads are possible and much more. Let your users collaborate!\u003C\u002Fp>\n\u003Ch4>How your website visitors add new markers to your map:\u003C\u002Fh4>\n\u003Cp>Just by clicking a “+”-Button a form will popup to let the visitor enter location details the same comfortable way you can do it in the backend. After submit the location proposal will be “pending” and wait for your review approval to get published.\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\u002F7v605z1FT2c?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>🍿 Watch Video on YouTube: \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7v605z1FT2c&ab_channel=100plugins\" rel=\"nofollow ugc\">Add a new Location\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>🆕 Regions\u003C\u002Fh4>\n\u003Cp>Add regional navigation tabs and let your visitors ‘fly’ back and forth between locations that are far apart from each other. See the \u003Ca href=\"https:\u002F\u002Fwww.open-user-map.com\u002Fdemo\u002F\" rel=\"nofollow ugc\">Demo Map\u003C\u002Fa>.\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\u002FY_Fp_FeoBw0?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>🍿 Watch Video on YouTube: \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Y_Fp_FeoBw0&ab_channel=100plugins\" rel=\"nofollow ugc\">Regions\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>More than 60 options to customize\u003C\u002Fh4>\n\u003Cp>Use the \u003Cstrong>Gutenberg Block\u003C\u002Fstrong> or \u003Cstrong>Elementor Widget\u003C\u002Fstrong> to integrate your map or place the shortcode anywhere on your site. Close by locations will group together in clusters. Make use of Custom Fields to create the form accoding to your needs.\u003C\u002Fp>\n\u003Ch4>Free Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>frontend adding (can be disabled)\u003C\u002Fli>\n\u003Cli>frontend editing of locations (for registered users)\u003C\u002Fli>\n\u003Cli>admin approval for pending locations\u003C\u002Fli>\n\u003Cli>based on Leaflet\u003C\u002Fli>\n\u003Cli>no API Keys\u003C\u002Fli>\n\u003Cli>multiple map styles (including MapBox)\u003C\u002Fli>\n\u003Cli>GDPR ready map tiles (Server in Germany)\u003C\u002Fli>\n\u003Cli>multiple marker styles\u003C\u002Fli>\n\u003Cli>Regions as tabs 🆕\u003C\u002Fli>\n\u003Cli>full width map size\u003C\u002Fli>\n\u003Cli>keep map focus in fixed position (stay in an area)\u003C\u002Fli>\n\u003Cli>scroll wheel zoom (optional) 🆕\u003C\u002Fli>\n\u003Cli>Search for Markers 🆕\u003C\u002Fli>\n\u003Cli>Search for Address (OSM geosearch)\u003C\u002Fli>\n\u003Cli>Auto-generate address from marker location (Reverse Geocoding) 🆕\u003C\u002Fli>\n\u003Cli>locations with custom fields! 🥳\u003C\u002Fli>\n\u003Cli>private custom fields\u003C\u002Fli>\n\u003Cli>Pre-Filter locations by custom fields\u003C\u002Fli>\n\u003Cli>Pre-Filter locations by date or daterange\u003C\u002Fli>\n\u003Cli>conditional fields (🪄 experimental, please see Help section)\u003C\u002Fli>\n\u003Cli>“subtitle”, “description”, “image”, “audio” and even “title” fields can be disabled\u003C\u002Fli>\n\u003Cli>“subtitle”-field links to google route\u003C\u002Fli>\n\u003Cli>every text bit can be customized\u003C\u002Fli>\n\u003Cli>locations with images & audio\u003C\u002Fli>\n\u003Cli>multiple images (slider) per location 🆕\u003C\u002Fli>\n\u003Cli>Shortcode with with custom settings\u003C\u002Fli>\n\u003Cli>Gutenberg Block with custom settings\u003C\u002Fli>\n\u003Cli>Elementor Widget with custom settings\u003C\u002Fli>\n\u003Cli>marker clustering\u003C\u002Fli>\n\u003Cli>fullscreen option\u003C\u002Fli>\n\u003Cli>refresh, redirection or thank you message after submit\u003C\u002Fli>\n\u003Cli>use URL-Parameter &markerid=123 to highlight a specific marker on the map\u003C\u002Fli>\n\u003Cli>get a specific value from a location by using the PHP function oum_get_location_value( ‘YOUR VALUE’, $post_id )\u003C\u002Fli>\n\u003Cli>use WordPress Hooks to extend the plugin functionality with your own code (including hook to modify location data before rendering) 🆕\u003C\u002Fli>\n\u003Cli>use Shortcode [open-user-map-form] to display the “Add Location” form stand-alone\u003C\u002Fli>\n\u003Cli>Custom JS inputs\u003C\u002Fli>\n\u003Cli>Custom CSS inputs\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 PRO\u003C\u002Fh3>\n\u003Cp>The Open User Map plugin is also available in a professional version which includes more styles, more funtionality and more flexibility!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Filterable Marker Categories\u003C\u002Fstrong>\u003Cbr \u002F>\nOrganize locations in multiple filterable marker groups. Each group (category) can have an individual marker icon and will be accessible to visitors.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Live Marker Filter\u003C\u002Fstrong>\u003Cbr \u002F>\nUse the search bar to filter markers as you type. Instantly see relevant locations on the map.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Filter Interface\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate a filter sidebar that appears next to your map, allowing visitors to filter locations by any custom field you’ve configured. You can also add custom HTML content sections to display additional information or branding.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=0aiLxhs5zls\" rel=\"nofollow ugc\">Video\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom Image map style\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd a custom image layer to your map or replace it entirely with a custom image (like floor plans or event maps) while retaining all interactions, clustering, and popups.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Pre-Filter locations by user or role\u003C\u002Fstrong>\u003Cbr \u002F>\nShortcode Attribute to filter locations by current user, user_id or a role. Works for map, list and gallery.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Vote button for locations\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd a customizable button for Likes, Upvotes, or Flagging – with flexible privacy controls.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Star Rating\u003C\u002Fstrong>\u003Cbr \u002F>\nLet visitors rate locations with a customizable star rating system.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>More custom field types\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd custom fields like links, radio buttons, checkboxes, dropdowns, Opening Hours, and even HTML. Social media links will automatically be rendered as icons.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Additional geosearch providers (Geoapify, Here, MapBox)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Videos from YouTube & Vimeo\u003C\u002Fstrong>\u003Cbr \u002F>\nUse videos instead of images to highlight each location.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Export & Import locations\u003C\u002Fstrong>\u003Cbr \u002F>\nMaybe you already have a list of places you need to show on the map. No problem – just make use of the CSV Export & Import feature. This also comes in handy for bulk editing a lot of locations.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Email user notification\u003C\u002Fstrong>\u003Cbr \u002F>\nUsers get notified by email after their location has been approved.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Email Admin notification\u003C\u002Fstrong>\u003Cbr \u002F>\nSend notifications to an Admin email account on incoming location proposals.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Zapier\u002FWebhook Integration\u003C\u002Fstrong>\u003Cbr \u002F>\nTrigger an external webhook on new or updated locations.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>User restriction\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict “Add location” feature to registered users only. Redirect your visitors to the registration form.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Auto-publish\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen activated registered users will publish directly without admin approval. This can also be enabled for unregistered users.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Extend user registration\u003C\u002Fstrong>\u003Cbr \u002F>\nIntegrate the “Add location” feature to the WordPress user registration form.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom filesizes\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize max. filesize for image\u002Faudio uploads (default: 10MB).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom marker icons\u003C\u002Fstrong>\u003Cbr \u002F>\nUse your own custom marker icon.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Current location\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd a button that relocates the map to the users current location.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Limit visible locations\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can limit the locations to be shown by marker categories and by post ids. So it is possible to show only locations of a specific type or to render only one single location. This can be done in the block settings or with shortcode attributes.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Single pages for locations\u003C\u002Fstrong>\u003Cbr \u002F>\nPer default locations will not have a single page. This should ensure that all the locations wont negatively affect your SEO. But if you’d like to add more content to locations you can easily enable it in the PRO version.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Default template for Single pages\u003C\u002Fstrong>\u003Cbr \u002F>\nIf Single pages are enabled locations will automatically have a post thumbnail, an excerpt as well as a default content template. And you can show locations within query loop blocks to setup your own list or grid view.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Shortcodes for single location values\u003C\u002Fstrong>\u003Cbr \u002F>\nUse the shortcode [open-user-map-location value=”YOUR VALUE” post_id=”POST ID (optional)”] to easily display a value from a location. You will need this when creating single pages for locations. See all the available values in the Help section of the plugin settings (Open User Map > Settings > Help).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Show all location images as gallery\u003C\u002Fstrong>\u003Cbr \u002F>\nUse the shortcode [open-user-map-gallery] to get a nice gallery view of all the location images. Each image is linked to the location marker on the map.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Show all locations as list or grid\u003C\u002Fstrong>\u003Cbr \u002F>\nUse the shortcode [open-user-map-list] to get a list view of all the locations. Alternatively you can use the native query loops block to build a custom list or grid.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Allow registered users to edit their locations\u003C\u002Fstrong>\u003Cbr \u002F>\nOpen User Map PRO extends WordPress capabilities to allow backend access. If assigned to the user role registered users get access to read, edit and delete their locations from within the map.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>🔥 \u003Ca href=\"https:\u002F\u002Fcheckout.freemius.com\u002Fmode\u002Fdialog\u002Fplugin\u002F9083\u002Fplan\u002F16065\u002F?trial=free\" rel=\"nofollow ugc\">Start 7-day PRO Trial (No Credit Card)\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Use Cases\u003C\u002Fh3>\n\u003Ch4>🍕 Restaurant & Food Guides\u003C\u002Fh4>\n\u003Cp>You want to build a collaborative map service where your visitors can add locations on their own. This could be a travel blog or a something like a bar and restaurtant guide. Where are the top locations for food and drinks in your city? Ask your audience for their recommendations! Prepare some categories like food, drinks, music etc. and let them drop the markers right in the frontend. Watch your map grow fast!\u003C\u002Fp>\n\u003Ch4>👭👬 Community Building\u003C\u002Fh4>\n\u003Cp>Extend the WordPress user registration form with an “Add location” input. Your new users can drop a marker on the map to share their location. Use it to build an awesome user map and help your audience connecting.\u003C\u002Fp>\n\u003Ch4>📺 Video Tour Map\u003C\u002Fh4>\n\u003Cp>Bring locations to life with video! Let your visitors enhance location markers by embedding YouTube or Vimeo videos directly on the map. This could be a video tour of a neighborhood, a restaurant walkthrough, or a cultural event highlight. Perfect for travel bloggers, city guides, or virtual tours—give your audience a dynamic, interactive experience by combining video with location markers.\u003C\u002Fp>\n\u003Ch4>🎤🎸 Sound Map\u003C\u002Fh4>\n\u003Cp>Get your audience a soundmap. Your visitors can not only upload text and images to their locations but audio as well! This way e.g urban (or remote) areas can be discovered by its specific soundscape.\u003C\u002Fp>\n\u003Ch4>🎯 Business Directory\u003C\u002Fh4>\n\u003Cp>List businesses on a map with categories & filters.\u003C\u002Fp>\n\u003Ch4>🗺️ Event or Travel Maps\u003C\u002Fh4>\n\u003Cp>Show tour locations, landmarks & routes.\u003C\u002Fp>\n\u003Ch4>🏠 Real Estate Listings\u003C\u002Fh4>\n\u003Cp>Display properties with images, videos & descriptions.\u003C\u002Fp>\n\u003Ch4>📍 Store Locator\u003C\u002Fh4>\n\u003Cp>Make it easy for customers to find physical store locations.\u003C\u002Fp>\n\u003Cp>📖 \u003Ca href=\"https:\u002F\u002Fwww.open-user-map.com\u002F\" rel=\"nofollow ugc\">View More Examples & Live Demos\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The possibilities are endless. We are very curious about what you are building with the help of our plugin. Please don’t hesitate to let us know or ask for feature requests. As this plugin is under constant development we are keen to know what are the features that you need? Contact us!\u003C\u002Fstrong>\u003C\u002Fp>\n","Engage your visitors with an interactive map – let them add markers instantly or create a custom map showcasing your favorite spots.",10000,280488,64,"2026-03-13T11:33:00.000Z","5.5",[77,102,78,146,147],"mapbox","pins","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fopen-user-map\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fopen-user-map.1.4.34.zip","2026-02-16 00:00:00",{"attackSurface":152,"codeSignals":500,"taintFlows":615,"riskAssessment":955,"analyzedAt":969},{"hooks":153,"ajaxHandlers":391,"restRoutes":490,"shortcodes":491,"cronEvents":498,"entryPointCount":499,"unprotectedCount":13},[154,160,165,169,173,176,179,182,186,189,193,196,199,202,205,209,211,214,217,220,223,226,229,232,235,239,243,246,249,251,254,257,260,262,265,267,269,272,276,278,282,285,287,291,295,299,304,305,309,313,317,321,323,326,329,332,335,338,341,344,347,351,354,356,360,364,368,373,377,381,386,388],{"type":155,"name":156,"callback":157,"file":158,"line":159},"action","init","adventurebook_load_textdomain","adventurebook.php",40,{"type":161,"name":162,"callback":163,"file":158,"line":164},"filter","site_transient_update_plugins","closure",91,{"type":155,"name":166,"callback":167,"file":158,"line":168},"plugins_loaded","adventurebook_check_db_update",111,{"type":155,"name":170,"callback":171,"file":158,"line":172},"admin_enqueue_scripts","adventurebook_enqueue_deactivation_script",112,{"type":155,"name":174,"callback":175,"file":158,"line":120},"admin_menu","adventurebook_add_deactivate_confirm_page",{"type":155,"name":174,"callback":163,"file":177,"line":178},"includes\\admin\\admin.php",24,{"type":155,"name":170,"callback":180,"file":177,"line":181},"adventurebook_enqueue_media_scripts",39,{"type":155,"name":183,"callback":184,"priority":11,"file":177,"line":185},"save_post","adventurebook_set_parent_on_new_page",93,{"type":155,"name":183,"callback":187,"file":177,"line":188},"adventurebook_save_page_script_meta_box_data",154,{"type":155,"name":190,"callback":191,"file":177,"line":192},"add_meta_boxes","adventurebook_add_page_script_meta_box",155,{"type":155,"name":190,"callback":194,"file":177,"line":195},"adventurebook_add_book_info_meta_box",161,{"type":155,"name":183,"callback":197,"file":177,"line":198},"adventurebook_save_page_type_meta_box_data",297,{"type":155,"name":190,"callback":200,"file":177,"line":201},"adventurebook_add_shop_meta_box",299,{"type":155,"name":203,"callback":163,"file":177,"line":204},"save_post_adventurebook_page",352,{"type":161,"name":206,"callback":207,"priority":11,"file":177,"line":208},"wp_insert_post_data","adventurebook_handle_parent_dropdown",431,{"type":155,"name":190,"callback":163,"file":177,"line":210},522,{"type":155,"name":156,"callback":212,"file":177,"line":213},"adventurebook_register_book_post_type",535,{"type":155,"name":156,"callback":215,"file":177,"line":216},"adventurebook_register_page_post_type",536,{"type":155,"name":190,"callback":218,"file":177,"line":219},"adventurebook_add_meta_box",538,{"type":155,"name":190,"callback":221,"file":177,"line":222},"adventurebook_add_new_page_link_meta_box",539,{"type":155,"name":190,"callback":224,"file":177,"line":225},"adventurebook_add_start_page_meta_box",540,{"type":155,"name":190,"callback":227,"file":177,"line":228},"adventurebook_add_parent_dropdown_meta_box",541,{"type":155,"name":190,"callback":230,"file":177,"line":231},"adventurebook_add_page_type_meta_box",542,{"type":155,"name":190,"callback":233,"file":177,"line":234},"adventurebook_add_custom_meta_box",543,{"type":161,"name":236,"callback":237,"file":177,"line":238},"manage_adventurebook_posts_columns","adventurebook_add_custom_columns",545,{"type":155,"name":240,"callback":241,"priority":11,"file":177,"line":242},"manage_adventurebook_posts_custom_column","adventurebook_custom_column_content",546,{"type":155,"name":183,"callback":244,"file":177,"line":245},"adventurebook_save_type_meta_box_data",549,{"type":155,"name":183,"callback":247,"file":177,"line":248},"adventurebook_save_start_page_meta_box",550,{"type":155,"name":183,"callback":184,"priority":11,"file":177,"line":250},551,{"type":155,"name":183,"callback":252,"file":177,"line":253},"adventurebook_save_additional_image_meta_box",610,{"type":155,"name":170,"callback":255,"file":177,"line":256},"adventurebook_enqueue_admin_styles",623,{"type":155,"name":170,"callback":258,"file":177,"line":259},"adventurebook_enqueue_admin_scripts",624,{"type":155,"name":190,"callback":163,"file":177,"line":261},733,{"type":155,"name":263,"callback":163,"file":177,"line":264},"save_post_adventurebook",781,{"type":161,"name":236,"callback":163,"file":177,"line":266},872,{"type":155,"name":240,"callback":163,"priority":11,"file":177,"line":268},886,{"type":161,"name":270,"callback":163,"file":177,"line":271},"manage_edit-adventurebook_sortable_columns",893,{"type":155,"name":273,"callback":274,"file":177,"line":275},"pre_get_posts","adventurebook_page_filter_by_parent",968,{"type":155,"name":183,"callback":247,"file":177,"line":277},1090,{"type":155,"name":279,"callback":280,"file":177,"line":281},"deleted_post","adventurebook_deleted_post",1098,{"type":155,"name":174,"callback":283,"file":177,"line":284},"adventurebook_settings_page",1355,{"type":155,"name":190,"callback":163,"file":177,"line":286},1357,{"type":155,"name":174,"callback":288,"file":289,"line":290},"adventurebook_admin_menu_characters","includes\\admin\\admin_characters.php",20,{"type":155,"name":174,"callback":292,"file":293,"line":294},"adventurebook_admin_menu_enemies","includes\\admin\\admin_enemies.php",22,{"type":155,"name":174,"callback":296,"file":297,"line":298},"adventurebook_admin_menu_items","includes\\admin\\admin_items.php",19,{"type":155,"name":300,"callback":301,"file":302,"line":303},"restrict_manage_posts","adventurebook_page_parent_filter","includes\\admin\\admin_page.php",54,{"type":155,"name":273,"callback":274,"file":302,"line":25},{"type":161,"name":306,"callback":307,"priority":11,"file":302,"line":308},"redirect_post_location","adventurebook_persist_parent_filter_redirect",138,{"type":155,"name":310,"callback":311,"file":302,"line":312},"admin_head","adventurebook_hide_default_add_new_button",163,{"type":155,"name":314,"callback":315,"file":302,"line":316},"admin_notices","adventurebook_add_new_button_standard_position",180,{"type":155,"name":318,"callback":319,"file":302,"line":320},"load-post-new.php","adventurebook_set_new_page_parent",220,{"type":155,"name":203,"callback":163,"priority":11,"file":302,"line":322},232,{"type":161,"name":324,"callback":163,"file":302,"line":325},"manage_adventurebook_page_posts_columns",286,{"type":155,"name":327,"callback":163,"priority":11,"file":302,"line":328},"manage_adventurebook_page_posts_custom_column",300,{"type":161,"name":330,"callback":163,"file":302,"line":331},"manage_edit-adventurebook_page_sortable_columns",307,{"type":161,"name":324,"callback":333,"file":302,"line":334},"adventurebook_page_add_custom_columns",325,{"type":155,"name":327,"callback":336,"priority":11,"file":302,"line":337},"adventurebook_page_custom_column_content",326,{"type":155,"name":190,"callback":339,"file":340,"line":11},"adventurebook_add_audio_metabox","includes\\admin\\admin_page_audio.php",{"type":155,"name":203,"callback":342,"file":340,"line":343},"adventurebook_save_audio_meta",46,{"type":155,"name":170,"callback":345,"file":340,"line":346},"adventurebook_enqueue_audio_admin_script",62,{"type":155,"name":190,"callback":348,"file":349,"line":350},"adventurebook_add_decision_options_meta_box","includes\\admin\\admin_page_decisions.php",28,{"type":155,"name":183,"callback":352,"priority":11,"file":349,"line":353},"adventurebook_save_decision_options",329,{"type":155,"name":183,"callback":352,"file":349,"line":355},334,{"type":155,"name":190,"callback":357,"file":358,"line":359},"adventurebook_add_enemy_spawns_meta_box","includes\\admin\\admin_page_enemies.php",37,{"type":155,"name":190,"callback":361,"file":362,"line":363},"adventurebook_add_item_spawns_meta_box","includes\\admin\\admin_page_items.php",36,{"type":155,"name":174,"callback":365,"file":366,"line":367},"adventurebook_admin_menu_scripts","includes\\admin\\admin_scripts.php",21,{"type":155,"name":369,"callback":370,"file":371,"line":372},"admin_post_adventurebook_import","adventurebook_handle_import","includes\\admin\\admin_settings.php",628,{"type":155,"name":374,"callback":375,"file":371,"line":376},"admin_post_adventurebook_export","adventurebook_handle_export",884,{"type":155,"name":378,"callback":163,"file":379,"line":380},"template_redirect","includes\\character_overview.php",14,{"type":155,"name":382,"callback":383,"file":384,"line":385},"wp_enqueue_scripts","adventurebook_enqueue_frontend_styles","includes\\frontend_show_book.php",35,{"type":155,"name":382,"callback":387,"file":384,"line":47},"adventurebook_enqueue_scripts",{"type":155,"name":273,"callback":163,"file":389,"line":390},"includes\\game_functions.php",34,[392,398,402,406,410,415,419,423,427,431,435,439,443,447,451,454,458,462,466,470,474,478,480,484,486],{"action":393,"nopriv":394,"callback":395,"hasNonce":396,"hasCapCheck":396,"file":358,"line":397},"adventurebook_delete_enemy_spawn",false,"adventurebook_delete_enemy_spawn_ajax",true,229,{"action":399,"nopriv":394,"callback":400,"hasNonce":396,"hasCapCheck":396,"file":358,"line":401},"adventurebook_add_enemy_spawn","adventurebook_add_enemy_spawn_ajax",263,{"action":403,"nopriv":394,"callback":404,"hasNonce":396,"hasCapCheck":396,"file":362,"line":405},"adventurebook_delete_item_spawn","adventurebook_delete_item_spawn_ajax",209,{"action":407,"nopriv":394,"callback":408,"hasNonce":396,"hasCapCheck":396,"file":362,"line":409},"adventurebook_add_item_spawn","adventurebook_add_item_spawn_ajax",245,{"action":411,"nopriv":394,"callback":412,"hasNonce":396,"hasCapCheck":396,"file":413,"line":414},"adventurebook_inline_edit_form","adventurebook_inline_edit_form_ajax","includes\\ajax-inline-edit.php",175,{"action":416,"nopriv":394,"callback":417,"hasNonce":396,"hasCapCheck":396,"file":413,"line":418},"adventurebook_saveInlineEdit","adventurebook_saveInlineEdit_ajax",376,{"action":420,"nopriv":394,"callback":421,"hasNonce":396,"hasCapCheck":394,"file":389,"line":422},"adventurebook_drop_item","adventurebook_drop_item_ajax",309,{"action":424,"nopriv":394,"callback":425,"hasNonce":396,"hasCapCheck":394,"file":389,"line":426},"adventurebook_equip_item","adventurebook_equip_item_ajax",360,{"action":428,"nopriv":394,"callback":429,"hasNonce":396,"hasCapCheck":394,"file":389,"line":430},"adventurebook_unequip_item","adventurebook_unequip_item_ajax",397,{"action":432,"nopriv":394,"callback":433,"hasNonce":396,"hasCapCheck":394,"file":389,"line":434},"adventurebook_use_item","adventurebook_use_item_ajax",426,{"action":436,"nopriv":394,"callback":437,"hasNonce":396,"hasCapCheck":394,"file":389,"line":438},"adventurebook_take_item","adventurebook_take_item_ajax",504,{"action":440,"nopriv":394,"callback":441,"hasNonce":396,"hasCapCheck":394,"file":389,"line":442},"adventurebook_buy_item","adventurebook_buy_item_ajax",583,{"action":444,"nopriv":394,"callback":445,"hasNonce":396,"hasCapCheck":394,"file":389,"line":446},"adventurebook_sell_item","adventurebook_sell_item_ajax",650,{"action":448,"nopriv":394,"callback":449,"hasNonce":396,"hasCapCheck":394,"file":389,"line":450},"adventurebook_use_skill","adventurebook_use_skill_ajax",668,{"action":452,"nopriv":394,"callback":452,"hasNonce":396,"hasCapCheck":394,"file":389,"line":453},"adventurebook_set_key_for_script",719,{"action":455,"nopriv":394,"callback":456,"hasNonce":396,"hasCapCheck":394,"file":389,"line":457},"adventurebook_get_user_input","adventurebook_get_user_input_ajax",757,{"action":459,"nopriv":394,"callback":460,"hasNonce":396,"hasCapCheck":396,"file":389,"line":461},"adventurebook_delete_decision","adventurebook_delete_decision_ajax",807,{"action":463,"nopriv":394,"callback":464,"hasNonce":396,"hasCapCheck":396,"file":389,"line":465},"adventurebook_kill_enemy","adventurebook_kill_enemy_ajax",854,{"action":467,"nopriv":394,"callback":468,"hasNonce":396,"hasCapCheck":394,"file":389,"line":469},"adventurebook_attack_enemy","adventurebook_attack_enemy_ajax",892,{"action":471,"nopriv":394,"callback":472,"hasNonce":396,"hasCapCheck":394,"file":389,"line":473},"adventurebook_respawn","adventurebook_respawn_ajax",948,{"action":475,"nopriv":394,"callback":476,"hasNonce":396,"hasCapCheck":396,"file":389,"line":477},"adventurebook_get_page_content","adventurebook_get_page_content_ajax",1506,{"action":475,"nopriv":396,"callback":476,"hasNonce":396,"hasCapCheck":396,"file":389,"line":479},1508,{"action":481,"nopriv":394,"callback":482,"hasNonce":396,"hasCapCheck":394,"file":389,"line":483},"adventurebook_try_decision","adventurebook_try_decision_ajax",2312,{"action":481,"nopriv":396,"callback":482,"hasNonce":396,"hasCapCheck":394,"file":389,"line":485},2314,{"action":487,"nopriv":394,"callback":488,"hasNonce":396,"hasCapCheck":396,"file":389,"line":489},"adventurebook_teleport","adventurebook_teleport_ajax",2377,[],[492,496],{"tag":493,"callback":494,"file":379,"line":495},"adventurebook_character_overview","display_character_overview",627,{"tag":4,"callback":497,"file":384,"line":172},"adventurebook_shortcode",[],27,{"dangerousFunctions":501,"sqlUsage":502,"outputEscaping":569,"fileOperations":609,"externalRequests":13,"nonceChecks":610,"capabilityChecks":343,"bundledLibraries":611},[],{"prepared":503,"raw":504,"locations":505},122,26,[506,509,511,514,516,518,519,523,527,528,530,532,534,536,538,540,542,545,548,551,553,556,559,562,564,566],{"file":177,"line":507,"context":508},1327,"$wpdb->get_col() with variable interpolation",{"file":177,"line":510,"context":508},1330,{"file":289,"line":512,"context":513},211,"$wpdb->get_var() with variable interpolation",{"file":293,"line":515,"context":513},207,{"file":297,"line":517,"context":513},176,{"file":366,"line":414,"context":513},{"file":520,"line":521,"context":522},"includes\\Character.php",490,"$wpdb->get_results() with variable interpolation",{"file":524,"line":525,"context":526},"includes\\database.php",239,"$wpdb->query() with variable interpolation",{"file":524,"line":409,"context":526},{"file":524,"line":529,"context":526},250,{"file":524,"line":531,"context":526},256,{"file":524,"line":533,"context":526},262,{"file":524,"line":535,"context":526},268,{"file":524,"line":537,"context":526},274,{"file":524,"line":539,"context":526},281,{"file":524,"line":541,"context":522},368,{"file":543,"line":544,"context":526},"includes\\Enemy.php",196,{"file":546,"line":547,"context":522},"includes\\Enemy_Definition.php",156,{"file":549,"line":550,"context":522},"includes\\Enemy_Spawn.php",188,{"file":549,"line":552,"context":522},202,{"file":554,"line":555,"context":526},"includes\\Item.php",322,{"file":557,"line":558,"context":522},"includes\\Item_Definition.php",68,{"file":560,"line":561,"context":522},"includes\\Item_Spawn.php",275,{"file":560,"line":563,"context":522},296,{"file":560,"line":565,"context":522},318,{"file":567,"line":568,"context":522},"includes\\Script.php",48,{"escaped":570,"rawEcho":290,"locations":571},947,[572,574,576,578,580,582,584,586,587,589,591,593,594,596,598,600,602,604,606,607],{"file":177,"line":535,"context":573},"raw output",{"file":177,"line":575,"context":573},269,{"file":177,"line":577,"context":573},422,{"file":177,"line":579,"context":573},1381,{"file":177,"line":581,"context":573},1385,{"file":177,"line":583,"context":573},1390,{"file":302,"line":585,"context":573},79,{"file":302,"line":405,"context":573},{"file":349,"line":588,"context":573},167,{"file":366,"line":590,"context":573},369,{"file":366,"line":592,"context":573},404,{"file":371,"line":266,"context":573},{"file":371,"line":595,"context":573},1156,{"file":379,"line":597,"context":573},555,{"file":379,"line":599,"context":573},559,{"file":379,"line":601,"context":573},566,{"file":379,"line":603,"context":573},569,{"file":605,"line":585,"context":573},"includes\\vis-4.21.0\\examples\\graph3d\\playground\\datasource.php",{"file":605,"line":164,"context":573},{"file":605,"line":608,"context":573},123,4,66,[612],{"name":613,"version":26,"knownCves":614},"jQuery",[],[616,634,654,671,692,705,722,739,751,768,790,800,814,829,846,857,885,905,942],{"entryPoint":617,"graph":618,"unsanitizedCount":13,"severity":633},"\u003Cadmin> (includes\\admin\\admin.php:0)",{"nodes":619,"edges":631},[620,625],{"id":621,"type":622,"label":623,"file":177,"line":624},"n0","source","$_GET",717,{"id":626,"type":627,"label":628,"file":177,"line":629,"wp_function":630},"n1","sink","echo() [XSS]",1054,"echo",[632],{"from":621,"to":626,"sanitized":396},"low",{"entryPoint":635,"graph":636,"unsanitizedCount":13,"severity":633},"prepare_characters (includes\\admin\\admin_characters.php:166)",{"nodes":637,"edges":651},[638,641,644,646],{"id":621,"type":622,"label":639,"file":289,"line":640},"$_REQUEST",198,{"id":626,"type":627,"label":642,"file":289,"line":552,"wp_function":643},"get_var() [SQLi]","get_var",{"id":645,"type":622,"label":639,"file":289,"line":640},"n2",{"id":647,"type":627,"label":648,"file":289,"line":649,"wp_function":650},"n3","get_results() [SQLi]",206,"get_results",[652,653],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"entryPoint":655,"graph":656,"unsanitizedCount":13,"severity":633},"adventurebook_characters_page (includes\\admin\\admin_characters.php:251)",{"nodes":657,"edges":668},[658,660,664,666],{"id":621,"type":622,"label":623,"file":289,"line":659},320,{"id":626,"type":627,"label":661,"file":289,"line":662,"wp_function":663},"get_row() [SQLi]",321,"get_row",{"id":645,"type":622,"label":665,"file":289,"line":659},"$_GET (x5)",{"id":647,"type":627,"label":628,"file":289,"line":667,"wp_function":630},327,[669,670],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"entryPoint":672,"graph":673,"unsanitizedCount":13,"severity":633},"\u003Cadmin_characters> (includes\\admin\\admin_characters.php:0)",{"nodes":674,"edges":687},[675,676,677,678,679,681,683,685],{"id":621,"type":622,"label":639,"file":289,"line":640},{"id":626,"type":627,"label":642,"file":289,"line":552,"wp_function":643},{"id":645,"type":622,"label":639,"file":289,"line":640},{"id":647,"type":627,"label":648,"file":289,"line":649,"wp_function":650},{"id":680,"type":622,"label":623,"file":289,"line":659},"n4",{"id":682,"type":627,"label":661,"file":289,"line":662,"wp_function":663},"n5",{"id":684,"type":622,"label":665,"file":289,"line":659},"n6",{"id":686,"type":627,"label":628,"file":289,"line":667,"wp_function":630},"n7",[688,689,690,691],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"from":684,"to":686,"sanitized":396},{"entryPoint":693,"graph":694,"unsanitizedCount":13,"severity":633},"prepare_enemies (includes\\admin\\admin_enemies.php:161)",{"nodes":695,"edges":702},[696,698,699,700],{"id":621,"type":622,"label":639,"file":293,"line":697},192,{"id":626,"type":627,"label":642,"file":293,"line":544,"wp_function":643},{"id":645,"type":622,"label":639,"file":293,"line":697},{"id":647,"type":627,"label":648,"file":293,"line":701,"wp_function":650},201,[703,704],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"entryPoint":706,"graph":707,"unsanitizedCount":13,"severity":633},"adventurebook_enemies_page (includes\\admin\\admin_enemies.php:250)",{"nodes":708,"edges":719},[709,712,714,717],{"id":621,"type":622,"label":710,"file":293,"line":711},"$_GET (x6)",354,{"id":626,"type":627,"label":628,"file":293,"line":713,"wp_function":630},362,{"id":645,"type":622,"label":715,"file":293,"line":716},"$_POST (x2)",278,{"id":647,"type":627,"label":628,"file":293,"line":718,"wp_function":630},405,[720,721],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"entryPoint":723,"graph":724,"unsanitizedCount":13,"severity":633},"\u003Cadmin_enemies> (includes\\admin\\admin_enemies.php:0)",{"nodes":725,"edges":734},[726,727,728,729,730,731,732,733],{"id":621,"type":622,"label":639,"file":293,"line":697},{"id":626,"type":627,"label":642,"file":293,"line":544,"wp_function":643},{"id":645,"type":622,"label":639,"file":293,"line":697},{"id":647,"type":627,"label":648,"file":293,"line":701,"wp_function":650},{"id":680,"type":622,"label":710,"file":293,"line":711},{"id":682,"type":627,"label":628,"file":293,"line":713,"wp_function":630},{"id":684,"type":622,"label":715,"file":293,"line":716},{"id":686,"type":627,"label":628,"file":293,"line":718,"wp_function":630},[735,736,737,738],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"from":684,"to":686,"sanitized":396},{"entryPoint":740,"graph":741,"unsanitizedCount":13,"severity":633},"prepare_items (includes\\admin\\admin_items.php:131)",{"nodes":742,"edges":748},[743,744,745,746],{"id":621,"type":622,"label":639,"file":297,"line":312},{"id":626,"type":627,"label":642,"file":297,"line":588,"wp_function":643},{"id":645,"type":622,"label":639,"file":297,"line":312},{"id":647,"type":627,"label":648,"file":297,"line":747,"wp_function":650},171,[749,750],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"entryPoint":752,"graph":753,"unsanitizedCount":13,"severity":633},"adventurebook_items_page (includes\\admin\\admin_items.php:199)",{"nodes":754,"edges":764},[755,757,759,760,761,763],{"id":621,"type":622,"label":623,"file":297,"line":756},293,{"id":626,"type":627,"label":661,"file":297,"line":758,"wp_function":663},294,{"id":645,"type":622,"label":665,"file":297,"line":756},{"id":647,"type":627,"label":628,"file":297,"line":201,"wp_function":630},{"id":680,"type":622,"label":715,"file":297,"line":762},223,{"id":682,"type":627,"label":628,"file":297,"line":337,"wp_function":630},[765,766,767],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"entryPoint":769,"graph":770,"unsanitizedCount":13,"severity":633},"\u003Cadmin_items> (includes\\admin\\admin_items.php:0)",{"nodes":771,"edges":784},[772,773,774,775,776,777,778,779,780,782],{"id":621,"type":622,"label":639,"file":297,"line":312},{"id":626,"type":627,"label":642,"file":297,"line":588,"wp_function":643},{"id":645,"type":622,"label":639,"file":297,"line":312},{"id":647,"type":627,"label":648,"file":297,"line":747,"wp_function":650},{"id":680,"type":622,"label":623,"file":297,"line":756},{"id":682,"type":627,"label":661,"file":297,"line":758,"wp_function":663},{"id":684,"type":622,"label":665,"file":297,"line":756},{"id":686,"type":627,"label":628,"file":297,"line":201,"wp_function":630},{"id":781,"type":622,"label":715,"file":297,"line":762},"n8",{"id":783,"type":627,"label":628,"file":297,"line":337,"wp_function":630},"n9",[785,786,787,788,789],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"from":684,"to":686,"sanitized":396},{"from":781,"to":783,"sanitized":396},{"entryPoint":791,"graph":792,"unsanitizedCount":13,"severity":633},"\u003Cadmin_page> (includes\\admin\\admin_page.php:0)",{"nodes":793,"edges":798},[794,796],{"id":621,"type":622,"label":623,"file":302,"line":795},230,{"id":626,"type":627,"label":628,"file":302,"line":797,"wp_function":630},443,[799],{"from":621,"to":626,"sanitized":396},{"entryPoint":801,"graph":802,"unsanitizedCount":13,"severity":633},"prepare_scripts (includes\\admin\\admin_scripts.php:130)",{"nodes":803,"edges":811},[804,806,808,809],{"id":621,"type":622,"label":639,"file":366,"line":805},162,{"id":626,"type":627,"label":642,"file":366,"line":807,"wp_function":643},166,{"id":645,"type":622,"label":639,"file":366,"line":805},{"id":647,"type":627,"label":648,"file":366,"line":810,"wp_function":650},170,[812,813],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"entryPoint":815,"graph":816,"unsanitizedCount":13,"severity":633},"adventurebook_scripts_page (includes\\admin\\admin_scripts.php:209)",{"nodes":817,"edges":826},[818,820,822,824],{"id":621,"type":622,"label":623,"file":366,"line":819},342,{"id":626,"type":627,"label":661,"file":366,"line":821,"wp_function":663},343,{"id":645,"type":622,"label":823,"file":366,"line":819},"$_GET (x3)",{"id":647,"type":627,"label":628,"file":366,"line":825,"wp_function":630},348,[827,828],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"entryPoint":830,"graph":831,"unsanitizedCount":13,"severity":633},"\u003Cadmin_scripts> (includes\\admin\\admin_scripts.php:0)",{"nodes":832,"edges":841},[833,834,835,836,837,838,839,840],{"id":621,"type":622,"label":639,"file":366,"line":805},{"id":626,"type":627,"label":642,"file":366,"line":807,"wp_function":643},{"id":645,"type":622,"label":639,"file":366,"line":805},{"id":647,"type":627,"label":648,"file":366,"line":810,"wp_function":650},{"id":680,"type":622,"label":623,"file":366,"line":819},{"id":682,"type":627,"label":661,"file":366,"line":821,"wp_function":663},{"id":684,"type":622,"label":823,"file":366,"line":819},{"id":686,"type":627,"label":628,"file":366,"line":825,"wp_function":630},[842,843,844,845],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"from":684,"to":686,"sanitized":396},{"entryPoint":847,"graph":848,"unsanitizedCount":13,"severity":633},"adventurebook_settings_page_callback (includes\\admin\\admin_settings.php:20)",{"nodes":849,"edges":855},[850,852],{"id":621,"type":622,"label":851,"file":371,"line":385},"$_POST (x5)",{"id":626,"type":627,"label":853,"file":371,"line":359,"wp_function":854},"update_option() [Settings Manipulation]","update_option",[856],{"from":621,"to":626,"sanitized":396},{"entryPoint":858,"graph":859,"unsanitizedCount":13,"severity":633},"adventurebook_handle_export (includes\\admin\\admin_settings.php:886)",{"nodes":860,"edges":880},[861,864,868,869,873,874,878,879],{"id":621,"type":622,"label":862,"file":371,"line":863},"$_POST",894,{"id":626,"type":627,"label":865,"file":371,"line":866,"wp_function":867},"get_col() [SQLi]",938,"get_col",{"id":645,"type":622,"label":862,"file":371,"line":863},{"id":647,"type":627,"label":870,"file":371,"line":871,"wp_function":872},"file_put_contents() [File Write]",1104,"file_put_contents",{"id":680,"type":622,"label":715,"file":371,"line":863},{"id":682,"type":627,"label":875,"file":371,"line":876,"wp_function":877},"header() [Header Injection]",1150,"header",{"id":684,"type":622,"label":862,"file":371,"line":863},{"id":686,"type":627,"label":628,"file":371,"line":595,"wp_function":630},[881,882,883,884],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"from":684,"to":686,"sanitized":396},{"entryPoint":886,"graph":887,"unsanitizedCount":13,"severity":633},"\u003Cadmin_settings> (includes\\admin\\admin_settings.php:0)",{"nodes":888,"edges":899},[889,890,891,892,893,894,895,896,897,898],{"id":621,"type":622,"label":851,"file":371,"line":385},{"id":626,"type":627,"label":853,"file":371,"line":359,"wp_function":854},{"id":645,"type":622,"label":862,"file":371,"line":863},{"id":647,"type":627,"label":865,"file":371,"line":866,"wp_function":867},{"id":680,"type":622,"label":862,"file":371,"line":863},{"id":682,"type":627,"label":870,"file":371,"line":871,"wp_function":872},{"id":684,"type":622,"label":715,"file":371,"line":863},{"id":686,"type":627,"label":875,"file":371,"line":876,"wp_function":877},{"id":781,"type":622,"label":862,"file":371,"line":863},{"id":783,"type":627,"label":628,"file":371,"line":595,"wp_function":630},[900,901,902,903,904],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"from":684,"to":686,"sanitized":396},{"from":781,"to":783,"sanitized":396},{"entryPoint":906,"graph":907,"unsanitizedCount":940,"severity":941},"\u003Ccharacter_overview> (includes\\character_overview.php:0)",{"nodes":908,"edges":933},[909,910,912,914,916,919,921,923,925,927,930],{"id":621,"type":622,"label":862,"file":379,"line":159},{"id":626,"type":627,"label":661,"file":379,"line":911,"wp_function":663},59,{"id":645,"type":622,"label":823,"file":379,"line":913},135,{"id":647,"type":627,"label":661,"file":379,"line":915,"wp_function":663},140,{"id":680,"type":622,"label":917,"file":379,"line":918},"$_POST (x3)",41,{"id":682,"type":627,"label":628,"file":379,"line":920,"wp_function":630},235,{"id":684,"type":622,"label":922,"file":379,"line":195},"$_GET (x7)",{"id":686,"type":627,"label":628,"file":379,"line":924,"wp_function":630},317,{"id":781,"type":622,"label":862,"file":379,"line":926},553,{"id":783,"type":928,"label":929,"file":379,"line":926},"transform","→ adventurebook_get_first_page_using_shortcode()",{"id":931,"type":627,"label":642,"file":389,"line":932,"wp_function":643},"n10",2394,[934,935,936,937,938,939],{"from":621,"to":626,"sanitized":396},{"from":645,"to":647,"sanitized":396},{"from":680,"to":682,"sanitized":396},{"from":684,"to":686,"sanitized":396},{"from":781,"to":783,"sanitized":394},{"from":783,"to":931,"sanitized":394},1,"high",{"entryPoint":943,"graph":944,"unsanitizedCount":940,"severity":941},"\u003Cgame_functions> (includes\\game_functions.php:0)",{"nodes":945,"edges":952},[946,948,950],{"id":621,"type":622,"label":862,"file":389,"line":947},2090,{"id":626,"type":928,"label":949,"file":389,"line":947},"→ get_items_for_page()",{"id":645,"type":627,"label":648,"file":524,"line":951,"wp_function":650},295,[953,954],{"from":621,"to":626,"sanitized":394},{"from":626,"to":645,"sanitized":394},{"summary":956,"deductions":957},"The \"adventurebook\" plugin, version 1.0.21, demonstrates a generally good security posture with many security best practices implemented. The high percentage of properly escaped outputs and the significant number of nonce and capability checks are positive indicators. The plugin also relies on prepared statements for a substantial majority of its SQL queries, which is a strong defense against SQL injection. Furthermore, the absence of any recorded vulnerabilities or CVEs in its history suggests a history of stable and secure development.\n\nHowever, the static analysis reveals two flows with unsanitized paths identified by the taint analysis, both flagged as high severity. While the plugin has no \"critical\" severity taint flows and the SQL queries are mostly prepared, these two high-severity unsanitized path flows represent a potential risk of path traversal or file manipulation vulnerabilities, which could allow an attacker to access or modify unintended files. The presence of these issues, despite the otherwise robust security practices, warrants attention.\n\nIn conclusion, \"adventurebook\" v1.0.21 is a plugin that adheres to many security best practices, offering a solid foundation. The lack of historical vulnerabilities is a significant strength. Nevertheless, the two high-severity unsanitized path flows identified in the static analysis are specific and concrete risks that need to be addressed to ensure the plugin's continued security.",[958,961,963,965,967],{"reason":959,"points":960},"High severity unsanitized path taint flows",12,{"reason":962,"points":940},"Unprotected AJAX handlers (0)",{"reason":964,"points":940},"SQL queries using prepared statements (82%)",{"reason":966,"points":940},"Output escaping (98% properly escaped)",{"reason":968,"points":940},"No recorded CVEs","2026-03-17T00:00:34.035Z",{"wat":971,"direct":986},{"assetPaths":972,"generatorPatterns":978,"scriptPaths":979,"versionParams":980},[973,974,975,976,977],"\u002Fwp-content\u002Fplugins\u002Fadventurebook\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fadventurebook\u002Fassets\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fadventurebook\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Fadventurebook\u002Fassets\u002Fjs\u002Ffrontend.js","\u002Fwp-content\u002Fplugins\u002Fadventurebook\u002Fassets\u002Fjs\u002Fscript-editor.js",[],[974,977,976],[981,982,983,984,985],"adventurebook\u002Fassets\u002Fcss\u002Fadmin.css?ver=","adventurebook\u002Fassets\u002Fjs\u002Fadmin.js?ver=","adventurebook\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","adventurebook\u002Fassets\u002Fjs\u002Ffrontend.js?ver=","adventurebook\u002Fassets\u002Fjs\u002Fscript-editor.js?ver=",{"cssClasses":987,"htmlComments":989,"htmlAttributes":990,"restEndpoints":993,"jsGlobals":994,"shortcodeOutput":997},[988],"adventurebook_page_script",[],[991,992],"data-adventurebook-id","data-adventurebook-parent-id",[],[995,996],"adventurebook_scripts","adventurebook_script_editor_vars",[998],"[adventurebook_display_book]"]