[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fWpRKlcy1m20_s30JM2knVI1BllCqAU6m_1ZRsu3VCFY":3,"$f4cNG7CRR3nQeFNYDkVfM7QAQ-mnY3F5Q17mgoCu8KW4":293,"$fJibaXKqQuw83p1f-xLpCBrBrWDQ7H7AcKbbldUYhfWc":297},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":38,"analysis":148,"fingerprints":265},"volume-post-sync-manager","Volume Post Sync Manager","1.0.0","We Are Volume","https:\u002F\u002Fprofiles.wordpress.org\u002Fwearevolume\u002F","\u003Cp>Post Sync Manager lets you move posts between your local, staging, and production WordPress sites with a single click — directly from the Gutenberg editor.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Free features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Push and pull posts, pages, and custom post types between environments\u003Cbr \u002F>\n* Sync status indicator (in sync, remote newer, local newer, conflict)\u003Cbr \u002F>\n* Secret-key authentication between sites\u003Cbr \u002F>\n* Full sync log with pagination\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fpostsyncmanager.com\" rel=\"nofollow ugc\">Pro version\u003C\u002Fa> features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Bulk sync page with per-row push, pull, and status check\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin communicates \u003Cstrong>only between your own WordPress sites\u003C\u002Fstrong> when pushing or pulling posts. No data is routed through any third-party server.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What is sent:\u003C\u002Fstrong> post content, post meta, and media attachments belonging to the post being synced\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Where it goes:\u003C\u002Fstrong> directly to the remote WordPress site URL you configure in Settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Authentication:\u003C\u002Fstrong> requests are authenticated with a secret key you set — no external accounts required\u003C\u002Fli>\n\u003C\u002Ful>\n","Push and pull individual posts between WordPress environments.",10,69,0,"2026-04-11T15:50:00.000Z","6.9.4","6.6","8.2",[19,20,21,22,23],"content","deployment","post","staging","sync","https:\u002F\u002Fpostsyncmanager.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvolume-post-sync-manager.1.0.0.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":34,"trust_score":36,"computed_at":37},"wearevolume",2,30,96,91,"2026-05-20T06:03:13.677Z",[39,65,87,103,125],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":61,"download_link":62,"security_score":63,"vuln_count":33,"unpatched_count":13,"last_vuln_date":64,"fetched_at":28},"sync-post-with-other-site","Sync Post With Other Site","1.9.1","Kamlesh Parmar","https:\u002F\u002Fprofiles.wordpress.org\u002Fkp4coder\u002F","\u003Cp>Allows user to sync Posts, Pages and Custom Post Type with multiple websites.\u003C\u002Fp>\n\u003Cp>If you run multiple websites and want to synchronise them automatically and securely for specific post operations, then Sync Post With Other Site is the plugin to use.\u003C\u002Fp>\n\u003Cp>You just need to enter website URL & login credentials of other website to sync the post from there.\u003C\u002Fp>\n\u003Ch3>OVERVIEW\u003C\u002Fh3>\n\u003Cp>This plugin adds the following major features to WordPress:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>admin page:\u003C\u002Fstrong> a “Sync Post” menu to manage remote sites.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Import and Export:\u003C\u002Fstrong> Connected sites’ present posts base can be synchronised manually thanks to the provided import\u002Fexport tool.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developers\u003C\u002Fh4>\n\u003Cp>Development takes place on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkp4coder\u002Fsync-post-with-other-site\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>. Patches welcome.\u003C\u002Fp>\n","Allows user to sync Posts, Pages and Custom Post Type with multiple websites.",3000,45372,82,27,"2025-07-12T10:20:00.000Z","6.6.5","4.5","",[56,57,58,59,60],"migrate-post-content","post-content-sync","sync-post-with-multiple-sites","synchronization-post","wp-sync-post","https:\u002F\u002Fkp4coder.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsync-post-with-other-site.1.9.1.zip",99,"2024-08-02 00:00:00",{"slug":66,"name":67,"version":68,"author":69,"author_profile":70,"description":71,"short_description":72,"active_installs":13,"downloaded":73,"rating":13,"num_ratings":13,"last_updated":74,"tested_up_to":52,"requires_at_least":75,"requires_php":76,"tags":77,"homepage":83,"download_link":84,"security_score":85,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":86},"ajax-sections-by-radaplug","Ajax Sections by Radaplug","1.2","radaplug","https:\u002F\u002Fprofiles.wordpress.org\u002Fradaplug\u002F","\u003Ch4>Loads Posts and Gutenberg Patterns inside a loaded web page asynchronously and reduce page loading time significantly!\u003C\u002Fh4>\n\u003Cp>This plugin presents a Gutenberg block that Loads content of supported post types via Ajax after page loads, very usefull for achieving lower load times, specially when there are dynamic contents.\u003C\u002Fp>\n\u003Ch4>🌟 Insert your ‘WordPress Blog Posts’ or ‘Gutenberg Patterns’ anywhere inside your page\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>In Gutenberg editor, search for ‘Ajax Sections’ block and insert it inside your page or post layout\u003C\u002Fli>\n\u003Cli>Setup the options and parameters of the block on the side panel including post id or slug\u003C\u002Fli>\n\u003Cli>Choose either automatic asynchrounous loading of the post or pattern after a predefined delay or loading by clicking on a button\u003C\u002Fli>\n\u003Cli>Even turn off asynchronous loading and the post or pattern will load among other page elements normally\u003C\u002Fli>\n\u003Cli>Only one post or gutenberg pattern may be inserted in each page or post via gutenberg ‘Ajax Sections’ block using free version of this plugin\u003C\u002Fli>\n\u003Cli>You can insert as many blocks as you want in the gutenberg editor and you can see the resulting loaded post or pattern, but only the first block will be loaded at frontend while using free version\u003C\u002Fli>\n\u003Cli>Only the post or pattern main content will be loaded and other information like author, date, … will not be shown\u003C\u002Fli>\n\u003Cli>Therefore the post or pattern should have a defined content in order to be loaded via this plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔥 Unlock All Features with Ajax Sections Pro by Radaplug\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Pro version also supports inserting ‘Elementor Templates’ inside your gutenberg page or post editor\u003C\u002Fli>\n\u003Cli>An ‘Elementor Widget’ will do the same as the ‘Gutenberg Block’ in any elementor editing page as well\u003C\u002Fli>\n\u003Cli>The ‘Elementor Widget’ also supports ‘WordPress Blog Posts’ and ‘Gutenberg Patterns’ to be inserted in elementor pages\u003C\u002Fli>\n\u003Cli>Some ‘Motion Effects’ features are also available in both editors while loading a section or a block asynchronously\u003C\u002Fli>\n\u003Cli>There are no more limitations on the number of sections or blocks in any page or post\u003C\u002Fli>\n\u003Cli>Nested Sections or Blocks is also supported and if a post or pattern or elementor template contains an ‘Ajax Sections’ element itself, it will be loaded using its own settings too\u003C\u002Fli>\n\u003Cli>Some ‘Elementor Templates’ (e.g. Carousels) may require loading more javascript code to work properly and this will be handled in future versions of the pro plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Accelerate Your Website Pages but Avoid Layout Shift\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>By using this plugin you will gain more initial speed while loading your webpage by asynchronously loading contentful blocks or sections which may also require more time consuming database queries\u003C\u002Fli>\n\u003Cli>Asynchronous loading of blocks and sections may cause some Layout Shifts in the already loaded viewport of the page which is better to avoid\u003C\u002Fli>\n\u003Cli>If this is an important webpage which should have a high performance score (e.g Home Page or a Landing Page), you would rather not inserting an ‘Ajax Sections’ block or widget in the viewport of the page\u003C\u002Fli>\n\u003C\u002Ful>\n","A WordPress plugin to load blocks and sections asynchronously.",488,"2024-10-21T07:31:00.000Z","6.0","7.4",[78,79,80,81,82],"ajax","async-loading","elementor-template","gutenberg-pattern","post-content","https:\u002F\u002Fradaplug.com\u002Fajax-sections-by-radaplug","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fajax-sections-by-radaplug.1.2.zip",92,"2026-04-06T09:54:40.288Z",{"slug":88,"name":89,"version":90,"author":89,"author_profile":91,"description":92,"short_description":93,"active_installs":13,"downloaded":94,"rating":13,"num_ratings":13,"last_updated":95,"tested_up_to":15,"requires_at_least":96,"requires_php":76,"tags":97,"homepage":54,"download_link":102,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"optipub","OptiPub","1.0.19","https:\u002F\u002Fprofiles.wordpress.org\u002Foptipub\u002F","\u003Cp>OptiPub synchronizes content from the OptiPub platform to your WordPress installation. Creates custom post types for Resources, Videos, FAQs and Authors with automated sync every 5 minutes via WP-Cron.\u003C\u002Fp>\n\u003Cp>Features: Custom post types (Resources, Videos, FAQs, Authors), automated content synchronization via WP-Cron, secure API authentication with encrypted token storage, multiple publication support, widget integration with custom content, tag and category management, static and dynamic pages sync, redirect handling, theme template integration, and file copying utilities.\u003C\u002Fp>\n\u003Ch3>Source Code for Minified Files\u003C\u002Fh3>\n\u003Cp>This plugin includes one minified JavaScript file (\u003Ccode>public\u002Fjs\u002Fvideo.js\u003C\u002Fcode>) which is a third-party library. The source code for this minified file is publicly available:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Video.js v4.6.3\u003C\u002Fstrong> (Location: \u003Ccode>public\u002Fjs\u002Fvideo.js\u003C\u002Fcode>)\u003Cbr \u002F>\n* \u003Cstrong>Source Code Repository:\u003C\u002Fstrong> https:\u002F\u002Fgithub.com\u002Fvideojs\u002Fvideo.js\u002Ftree\u002Fv4.6.3\u003Cbr \u002F>\n* \u003Cstrong>License:\u003C\u002Fstrong> Apache 2.0\u003Cbr \u002F>\n* \u003Cstrong>Documentation:\u003C\u002Fstrong> https:\u002F\u002Fdocs.videojs.com\u002F\u003C\u002Fp>\n\u003Cp>All other JavaScript and CSS files in this plugin (\u003Ccode>public\u002Fjs\u002Farchive-filters.js\u003C\u002Fcode>, \u003Ccode>public\u002Fjs\u002Fgtm.js\u003C\u002Fcode>, \u003Ccode>public\u002Fjs\u002Finit.js\u003C\u002Fcode>, \u003Ccode>public\u002Fjs\u002Flogin-forms.js\u003C\u002Fcode>, \u003Ccode>public\u002Fjs\u002Fnavigation-collapse.js\u003C\u002Fcode>, and \u003Ccode>public\u002Fcss\u002Fsubscribers.css\u003C\u002Fcode>) are provided in their original, unminified source code format and are fully human-readable.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the following external services:\u003C\u002Fp>\n\u003Ch4>Google Tag Manager\u003C\u002Fh4>\n\u003Cp>Provides tag management and analytics functionality when GTM containers are configured in OptiPub. Sends the container ID to www.googletagmanager.com on every page load. Data collection is controlled by your GTM configuration.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Service Provider: Google LLC  \u003C\u002Fli>\n\u003Cli>Terms of Use: https:\u002F\u002Fwww.google.com\u002Fanalytics\u002Ftag-manager\u002Fuse-policy\u002F  \u003C\u002Fli>\n\u003Cli>Privacy Policy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>YouTube\u003C\u002Fh4>\n\u003Cp>Embeds YouTube videos when video content is configured to use YouTube as the player. Sends video IDs to youtube.com\u002Fembed only when displaying YouTube video content. Data collection is controlled by YouTube’s privacy policy.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Service Provider: Google LLC (YouTube)  \u003C\u002Fli>\n\u003Cli>Terms of Use: https:\u002F\u002Fwww.youtube.com\u002Fstatic?template=terms  \u003C\u002Fli>\n\u003Cli>Privacy Policy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Wistia\u003C\u002Fh4>\n\u003Cp>Embeds Wistia videos when video content is configured to use Wistia as the player. Sends video IDs to fast.wistia.net only when displaying Wistia video content. Data collection is controlled by Wistia’s privacy policy.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Service Provider: Wistia, Inc.  \u003C\u002Fli>\n\u003Cli>Terms of Use: https:\u002F\u002Fwistia.com\u002Fterms  \u003C\u002Fli>\n\u003Cli>Privacy Policy: https:\u002F\u002Fwistia.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>OptiPub API\u003C\u002Fh4>\n\u003Cp>Synchronizes content (publications, resources, videos, FAQs, authors, tags, categories, redirects) from the OptiPub platform to WordPress. Sends authenticated API requests with encrypted tokens to your configured OptiPub domain (typically \u003Ccode>https:\u002F\u002F\u003Cdomain>.app.optipub.com\u003C\u002Fcode>) via WP-Cron at configured intervals (default: every 5 minutes). Also creates edit links to OptiPub content management pages in WordPress admin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Service Provider: OptiPub  \u003C\u002Fli>\n\u003Cli>Terms of Use & Privacy Policy: Please refer to your OptiPub service agreement for terms of use and privacy policy.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Third Party Libraries\u003C\u002Fh3>\n\u003Cp>This plugin includes one minified JavaScript library for video functionality:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Video.js v4.6.3\u003C\u002Fstrong> – Used for video player functionality\n\u003Cul>\n\u003Cli>\u003Cstrong>Source Code Repository:\u003C\u002Fstrong> https:\u002F\u002Fgithub.com\u002Fvideojs\u002Fvideo.js\u002Ftree\u002Fv4.6.3\u003C\u002Fli>\n\u003Cli>\u003Cstrong>License:\u003C\u002Fstrong> Apache 2.0\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Location in Plugin:\u003C\u002Fstrong> \u003Ccode>public\u002Fjs\u002Fvideo.js\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Documentation:\u003C\u002Fstrong> https:\u002F\u002Fdocs.videojs.com\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The source code for this minified library is publicly available at the GitHub repository link above. This plugin does not include any custom build process – the minified file is used directly from the Video.js project.\u003C\u002Fp>\n\u003Ch3>Development Documentation\u003C\u002Fh3>\n\u003Cp>Technical documentation for developers working with the OptiPub plugin. Topics covered:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>OptiPub Introduction\u003C\u002Fli>\n\u003Cli>Prepare\u003C\u002Fli>\n\u003Cli>Installation\u003C\u002Fli>\n\u003Cli>Activation\u003C\u002Fli>\n\u003Cli>OptiPub Admin Page (Save Changes Button, Clear Data Button)\u003C\u002Fli>\n\u003Cli>Cron Job & Troubleshooting\u003C\u002Fli>\n\u003Cli>Plugin Configurations (wp-config.php, Configuring WP-Cron)\u003C\u002Fli>\n\u003Cli>Deactivation & Rescheduling the cron job\u003C\u002Fli>\n\u003Cli>Uninstallation\u003C\u002Fli>\n\u003Cli>Theme dependencies\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>OptiPub Introduction\u003C\u002Fh3>\n\u003Cp>OptiPub syncs OptiPub Resources to a WordPress installation. The plugin schedules the WP-Cron event \u003Ccode>optipub_sync\u003C\u002Fcode> to sync Publications, Resources, Videos, FAQs, Authors, Pages, Custom Content, Tags, Categories and Redirects.\u003C\u002Fp>\n\u003Cp>The plugin creates Custom Post Types (CPTs): \u003Ccode>Resources\u003C\u002Fcode>, \u003Ccode>Videos\u003C\u002Fcode>, \u003Ccode>FAQs\u003C\u002Fcode> and \u003Ccode>Authors\u003C\u002Fcode>. Resources synced to these post types store OptiPub metadata and properties in the \u003Ccode>wp_postmeta\u003C\u002Fcode> table. OptiPub Tags are saved as WordPress Tags. OptiPub Resource Categories are saved as WordPress Categories.\u003C\u002Fp>\n\u003Cp>WordPress Widgets can be created with OptiPub Custom Content from the \u003Ccode>OptiPub Admin\u003C\u002Fcode> page.\u003C\u002Fp>\n\u003Ch3>Prepare\u003C\u002Fh3>\n\u003Cp>From WordPress Admin: Settings > General, select timezone (recommended: ‘New York’) and click [Save Changes].\u003C\u002Fp>\n\u003Cp>OptiPub syncs with UTC but displays dates in EST. If you don’t select ‘New York’, website dates may differ from OptiPub dates. WordPress automatically converts \u003Ccode>post_date\u003C\u002Fcode> and \u003Ccode>post_modified\u003C\u002Fcode> to the selected timezone. Configure this before syncing data.\u003C\u002Fp>\n\u003Ch3>Bitnami permissions and configurations (Optional)\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> This section is only required if you’re using Bitnami WordPress. Skip this if you’re using a standard WordPress installation.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Increase upload file size:\u003C\u002Fstrong>\u003Cbr \u002F>\n1. \u003Ccode>sudo -i\u003C\u002Fcode>\u003Cbr \u002F>\n2. \u003Ccode>sudo nano \u002Fopt\u002Fbitnami\u002Fphp\u002Fetc\u002Fphp.ini\u003C\u002Fcode>\u003Cbr \u002F>\n3. Update \u003Ccode>upload_max_filesize\u003C\u002Fcode>, e.g. \u003Ccode>upload_max_filesize = 128M\u003C\u002Fcode>\u003Cbr \u002F>\n4. Restart: \u003Ccode>sudo \u002Fopt\u002Fbitnami\u002Fctlscript.sh restart\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Set permissions before activation\u003C\u002Fstrong> (required for proper activation and uninstallation – vendor files need deletion permissions):\u003C\u002Fp>\n\u003Cp>Note: These commands apply to all WP plugins. Modify paths to target only OptiPub if needed.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ccode>sudo find \u002Fhome\u002Fbitnami\u002Fapps\u002Fwordpress\u002Fhtdocs\u002Fwp-content\u002Fplugins\u002F -type d -exec chmod 775 {} \\;\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>sudo find \u002Fhome\u002Fbitnami\u002Fapps\u002Fwordpress\u002Fhtdocs\u002Fwp-content\u002Fplugins\u002F -type f -exec chmod 664 {} \\;\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>sudo chown -R bitnami:daemon \u002Fhome\u002Fbitnami\u002Fapps\u002Fwordpress\u002Fhtdocs\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>This sets user\u002Fgroup to \u003Ccode>bitnami:daemon\u003C\u002Fcode>, file permissions to 664 (read\u002Fwrite for user\u002Fgroup, read for others), and folder permissions to 775 (read\u002Fwrite\u002Fexecute for user\u002Fgroup, read\u002Fexecute for others).\u003C\u002Fp>\n\u003Ch3>Activation\u003C\u002Fh3>\n\u003Cp>Activate from Plugins page. After activation, a green \u003Cstrong>OptiPub Admin\u003C\u002Fstrong> menu item appears in the left sidebar.\u003C\u002Fp>\n\u003Ch3>Activation Processes\u003C\u002Fh3>\n\u003Cp>During activation, three processes execute:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Override \u003Ccode>WP_CRON_LOCK_TIMEOUT\u003C\u002Fcode> constant\u003C\u002Fstrong> – Locates \u003Ccode>wp-config.php\u003C\u002Fcode> and overrides the constant. See \u003Ca href=\"#plugin-constants\" rel=\"nofollow ugc\">WP_CRON_LOCK_TIMEOUT\u003C\u002Fa>. Note: May fail in Bitnami if permissions aren’t set first.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Generate \u003Ccode>OPTIPUB_KEY\u003C\u002Fcode> encryption key\u003C\u002Fstrong> – Generates a random key stored in \u003Ccode>wp-config.php\u003C\u002Fcode> as \u003Ccode>OPTIPUB_KEY\u003C\u002Fcode>. Used to encrypt\u002Fdecrypt the API token during cron job execution.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change permalink structure\u003C\u002Fstrong> – Changes permalink structure to \u003Ccode>\u002F%postname%\u002F\u003C\u002Fcode> to accommodate static pages with multiple slugs (e.g., \u003Ccode>https:\u002F\u002Fwww.energyandcapital.com\u002Fpubs-detailed\u002Fbab\u003C\u002Fcode> where \u003Ccode>pubs-detailed\u002Fbab\u003C\u002Fcode> is defined in \u003Ccode>\u002Fpages\u003C\u002Fcode> OptiPub API).\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>OptiPub Admin Page\u003C\u002Fh3>\n\u003Cp>The green menu icon opens the Admin Page for migrating data from the OptiPub API.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>OptiPub Sync Options:\u003C\u002Fstrong>\u003Cbr \u002F>\n1. \u003Cstrong>OptiPub Domain\u003C\u002Fstrong> – HTTPS URL of the OptiPub API\u003Cbr \u002F>\n2. \u003Cstrong>API Token\u003C\u002Fstrong> – The provided API Token from OptiPub will be used to authenticate with the API. Encrypted and stored in database, decrypted for API calls\u003Cbr \u002F>\n3. \u003Cstrong>Open Graph Image Link\u003C\u002Fstrong> – Backup\u002Fdefault image URL. Access with:\u003Cbr \u002F>\n       \u003Ccode>function get_optipub_opengraph_image() {\u003Cbr \u002F>\n      return get_option(\\OptiPub\\Base\\Constants::OPTIPUB_OPENGRAPH_IMAGE_LINK);\u003Cbr \u002F>\n   }\u003C\u002Fcode>\u003Cbr \u002F>\n4. \u003Cstrong>WP Auth Token\u003C\u002Fstrong> – Create a WP Auth Token to authenticate subscriber logins through OptiPub\u003Cbr \u002F>\n5. \u003Cstrong>Home Page Template\u003C\u002Fstrong> – Template name from OptiPub:\u003Cbr \u002F>\n   – OptiPub > Administration > Templates – create template with \u003Ccode>.php\u003C\u002Fcode> extension (e.g., \u003Ccode>optipub_home_page.php\u003C\u002Fcode>)\u003Cbr \u002F>\n   – OptiPub > Content > Pages – create page with path \u003Ccode>\u002F\u003C\u002Fcode> using the template\u003Cbr \u002F>\n   – Optional: OptiPub > Content > Redirects – create redirect from \u003Ccode>domain.com\u002Fhome\u003C\u002Fcode> to \u003Ccode>https:\u002F\u002Fwww.domain.com\u002F\u003C\u002Fcode>\u003Cbr \u002F>\n6. \u003Cstrong>Publication Dropdown\u003C\u002Fstrong> – Generated after \u003Ccode>OptiPub Domain\u003C\u002Fcode> and \u003Ccode>API Token\u003C\u002Fcode> are provided and \u003Ccode>Save changes\u003C\u002Fcode> is clicked\u003Cbr \u002F>\n7. \u003Cstrong>Publication Domain Id\u003C\u002Fstrong> – Publication domain ID (integer) used to retrieve redirects\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Copy Files To Theme\u003C\u002Fstrong> (feature complete – documentation under construction)\u003Cbr \u002F>\nView more documentation in the plugin ‘OptiPub Admin’ page\u003C\u002Fp>\n\u003Col>\n\u003Cli>Files copied to \u003Ccode>[theme-directory]\u002Finc\u002Foptipub\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Select file categories and click [Copy Files]\u003C\u002Fli>\n\u003Cli>Reference from current location or use as integration guide\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>If copying \u003Ccode>Helper Functions\u003C\u002Fcode>, copy content from \u003Ccode>[theme-directory]\u002Finc\u002Foptipub\u002Fphp\u002Fadd_to_bottom_of_functions.php.txt\u003C\u002Fcode> to your theme’s \u003Ccode>functions.php\u003C\u002Fcode>. \u003Ccode>include\u003C\u002Fcode> statements and filter\u002Faction calls are commented out. Review functions before uncommenting.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom Content Widget Sidebars\u003C\u002Fstrong> (feature complete – documentation under construction)\u003Cbr \u002F>\nView more documentation in the plugin ‘OptiPub Admin’ page\u003C\u002Fp>\n\u003Cp>Create custom content macro in OptiPub > Content > Custom Content. Custom Content syncs to WordPress as options.\u003C\u002Fp>\n\u003Cp>Click [Create New Widget]:\u003Cbr \u002F>\n– \u003Cstrong>Title\u003C\u002Fstrong> – WordPress Admin Console\u003Cbr \u002F>\n– \u003Cstrong>Sidebar ID\u003C\u002Fstrong> – Display widget in theme templates\u003Cbr \u002F>\n– \u003Cstrong>File Name\u003C\u002Fstrong> – WordPress Sidebar Widget content file\u003Cbr \u002F>\n– \u003Cstrong>Description\u003C\u002Fstrong> – WordPress Admin Console\u003Cbr \u002F>\n– \u003Cstrong>Custom Content\u003C\u002Fstrong> – OptiPub custom content macro name\u003Cbr \u002F>\n– \u003Cstrong>Class Name\u003C\u002Fstrong> – CSS class for styling\u003Cbr \u002F>\n– \u003Cstrong>Before Widget\u003C\u002Fstrong> – HTML before widget\u003Cbr \u002F>\n– \u003Cstrong>After Widget\u003C\u002Fstrong> – HTML after widget\u003Cbr \u002F>\n– \u003Cstrong>Before Title\u003C\u002Fstrong> – HTML before title (displays Title if used)\u003Cbr \u002F>\n– \u003Cstrong>After Title\u003C\u002Fstrong> – HTML after title (displays Title if used)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>How OptiPub Custom Content creates WordPress Sidebar Widgets:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Widget files created at:\u003Cbr \u002F>\n    \u003Ccode>[theme-directory]\u002Finc\u002Foptipub\u002Fwidget-templates\u002F\u003C\u002Fcode>File Name\u003Ccode>\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Default content:\u003Cbr \u002F>\n    \u003Ccode>\u003C?php echo get_option('{$custom_content_name}'); ?>\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Include in theme templates:\u003Cbr \u002F>\n    \u003Ccode>if (is_active_sidebar('sidebar-id')) {\u003Cbr \u002F>\n   dynamic_sidebar('sidebar-id');\u003Cbr \u002F>\n}\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Save Changes Button\u003C\u002Fh3>\n\u003Cp>Validates API Domain and token, then stores \u003Ccode>Optipub Domain\u003C\u002Fcode>, \u003Ccode>Api Token\u003C\u002Fcode>, \u003Ccode>Publication\u003C\u002Fcode>, \u003Ccode>Publication Domain\u003C\u002Fcode>, \u003Ccode>Header Pencil Ad Macro\u003C\u002Fcode>, \u003Ccode>Article bottom Ad Macro\u003C\u002Fcode>, \u003Ccode>Signup Sidebar Macro\u003C\u002Fcode> in \u003Ccode>wp_options\u003C\u002Fcode> table.\u003C\u002Fp>\n\u003Cp>Schedules cron job to run every 5 minutes if \u003Ccode>Optipub Domain\u003C\u002Fcode>, \u003Ccode>Api Token\u003C\u002Fcode>, and \u003Ccode>Publication\u003C\u002Fcode> are provided correctly.\u003C\u002Fp>\n\u003Cp>After saving, an API call fetches publication metadata. Fetched metadata appears in the WordPress admin left menu. New CPT links appear in \u003Cstrong>green\u003C\u002Fstrong> to differentiate from other CPTs.\u003C\u002Fp>\n\u003Ch3>Clear Data Button\u003C\u002Fh3>\n\u003Cp>Clears all imported posts (articles, resources, reports, etc.). Publication metadata remains, but imported posts are deleted. Stops and reschedules the cron job. Use to reset the plugin after errors.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important Note:\u003C\u002Fstrong> \u003Cem>The clear button stops the current cron job, deletes all posts imported from the API, and reschedules the cron job.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Cron Job\u003C\u002Fh3>\n\u003Cp>Syncs content from the OptiPub API. Scheduled to run every \u003Ccode>CRON_INTERVAL_IN_SECONDS\u003C\u002Fcode> after \u003Ccode>OptiPub Domain\u003C\u002Fcode>, \u003Ccode>API key\u003C\u002Fcode>, and \u003Ccode>Publication\u003C\u002Fcode> are selected.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>First run:\u003C\u002Fstrong> Loads all content for Custom Post Types, dynamic pages (nav menu pages like Videos, FAQs, Authors), static pages (from \u003Ccode>\u002Fcontents\u002Fpages\u003C\u002Fcode> endpoint), and Widget contents (from \u003Ccode>\u002Fcustom-contents\u003C\u002Fcode> endpoint).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Subsequent runs:\u003C\u002Fstrong> Loads only new or updated content using the \u003Ccode>updated_at\u003C\u002Fcode> attribute and last cron run timestamp.\u003C\u002Fp>\n\u003Ch3>Troubleshooting the Cron Job\u003C\u002Fh3>\n\u003Cp>WP-CLI commands:\u003Cbr \u002F>\n– \u003Ccode>wp cron event list\u003C\u002Fcode> – Lists all cron jobs (\u003Ccode>optipub_sync\u003C\u002Fcode> is the plugin cron job)\u003Cbr \u002F>\n– \u003Ccode>wp cron event delete optipub_sync\u003C\u002Fcode> – Deletes the cron job. Use \u003Ccode>Save changes\u003C\u002Fcode> to reschedule.\u003C\u002Fp>\n\u003Ch3>Plugin Configurations\u003C\u002Fh3>\n\u003Cp>Constants control plugin behavior: Cron Job scheduling, error handling, widgetized areas, template directory paths.\u003C\u002Fp>\n\u003Cp>Constants defined in two places:\u003Cbr \u002F>\n1. \u003Ccode>wp-config.php\u003C\u002Fcode> – WordPress environment variables\u003Cbr \u002F>\n2. \u003Ccode>Plugin Constants\u003C\u002Fcode> ([plugin-directory]\u002Finc\u002FBase\u002FConstants.php) – Plugin runtime configuration\u003C\u002Fp>\n\u003Ch3>wp-config.php\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>WP_CRON_LOCK_TIMEOUT\u003C\u002Fstrong> – Defines cron job execution period (default: 60 seconds, can be changed to 3600 seconds for 60 minutes). Plugin attempts to write this during activation. If it fails, cron job won’t schedule and error appears:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Could not activate Cron Job since WP_CRON_LOCK_TIMEOUT is smaller than the expected value of: 3000 (e.x);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Configuring WP-Cron\u003C\u002Fh3>\n\u003Cp>WP-Cron documentation: https:\u002F\u002Fdeveloper.wordpress.org\u002Fplugins\u002Fcron\u002F\u003C\u002Fp>\n\u003Cp>Configuration in \u003Ccode>[plugin-directory]\u002Finc\u002FBase\u002FConstants.php\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>CRON_INTERVAL_IN_SECONDS\u003C\u002Fstrong> – Default: 60 – Interval in seconds for \u003Ccode>optipub_sync\u003C\u002Fcode> wp-cron job. Creates a lock option in \u003Ccode>wp_options\u003C\u002Fcode> table; cron won’t run again until it finishes and deletes the option.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>WP_CRON_LOCK_TIMEOUT\u003C\u002Fstrong> – Default: 3600 – Changes WP-Cron timeout in \u003Ccode>wp-config.php\u003C\u002Fcode>:\u003Cbr \u002F>\n   \u003Ccode>define( 'WP_CRON_LOCK_TIMEOUT', 3600 );\u003C\u002Fcode>\u003Cbr \u002F>\nPlugin updates this during Activation, when clearing plugin data, or when changing Publication.\u003C\u002Fp>\n\u003Cp>NOTE: WP-Cron checks for scheduled jobs on every page load. For more consistent intervals, create a system cron job (requires server access).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Crontab in Linux:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>PHP Command:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* * * * * HTTP_HOST=www.domain.com $(which php) \u002Fopt\u002Fbitnami\u002Fwordpress\u002Fwp-cron.php >> \u002Fpath\u002Fto\u002Ffile.log 2>&1\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Configure \u003Ccode>HTTP_HOST\u003C\u002Fcode> to your site domain.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WP-CLI:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* * * * * sudo wp cron event run optipub_sync\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Note: Cannot log output and less reliable than PHP command.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Deactivation\u003C\u002Fh3>\n\u003Cp>Deactivate from Plugins page. Deactivation pauses execution, temporarily disables custom post types and admin page, and stops cron job schedule. Cron job won’t reschedule on reactivation. If cron is running during deactivation, it finishes its job, then gets deleted on next run.\u003C\u002Fp>\n\u003Ch3>Rescheduling the cron job\u003C\u002Fh3>\n\u003Cp>After deactivation clears the cron job, reschedule via \u003Cstrong>Save Changes\u003C\u002Fstrong> button (even without data changes).\u003C\u002Fp>\n\u003Ch3>Uninstallation\u003C\u002Fh3>\n\u003Cp>Uninstall from WP Plugin page. Deactivate first to enable delete option.\u003C\u002Fp>\n\u003Cp>Uninstallation removes all plugin directory files. During uninstall, database commands delete all plugin-created content. Details in \u003Ccode>uninstall.php\u003C\u002Fcode> file.\u003C\u002Fp>\n\u003Ch3>Theme dependencies\u003C\u002Fh3>\n\u003Cp>Content loaded by the plugin is displayed via custom WP theme templates. Theme must provide templates for dynamic pages and widgets, and register\u002Fdisplay widgets. Page templates in theme root directory. Widget templates in theme \u003Ccode>widget-templates\u003C\u002Fcode> directory.\u003C\u002Fp>\n\u003Cp>Templates in plugin \u003Ccode>\u002Ftemplates\u003C\u002Fcode> directory are not used by the plugin but serve as guides for retrieving content from the WP Database. Only \u003Ccode>optipub_admin.php\u003C\u002Fcode> in \u003Ccode>\u002Ftemplates\u003C\u002Fcode> is used (decorates the Admin page).\u003C\u002Fp>\n\u003Cp>Theme must know Widget area IDs to register them in \u003Ccode>functions.php\u003C\u002Fcode>. IDs are documented above and found in plugin \u003Ccode>Constants.php\u003C\u002Fcode> class.\u003C\u002Fp>\n\u003Cp>template-parts\u002Farchives\u002F\u003Cbr \u002F>\n   optipub-filters.php\u003Cbr \u002F>\n   optipub-pagination_params.php\u003C\u002Fp>\n\u003Cp>template-parts\u002Fvideos\u002F\u003Cbr \u002F>\n   mv display.php videos_handler.php\u003C\u002Fp>\n","Sync OptiPub content to WordPress with automated cron jobs and custom post types.",692,"2026-04-07T09:14:00.000Z","5.0",[98,99,100,88,101],"api-integration","content-sync","custom-post-types","widgets","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foptipub.1.0.19.zip",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":111,"downloaded":112,"rating":85,"num_ratings":113,"last_updated":114,"tested_up_to":15,"requires_at_least":16,"requires_php":76,"tags":115,"homepage":120,"download_link":121,"security_score":122,"vuln_count":123,"unpatched_count":13,"last_vuln_date":124,"fetched_at":28},"custom-post-type-ui","Custom Post Type UI","1.18.3","webdevstudios","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebdevstudios\u002F","\u003Cp>Custom Post Type UI provides an easy-to-use interface for registering and managing custom post types and taxonomies for your website.\u003C\u002Fp>\n\u003Ch4>Custom Post Type UI Extended\u003C\u002Fh4>\n\u003Cp>CPTUI helps create custom content types, but displaying that content can be a whole new challenge. \u003Ca href=\"https:\u002F\u002Fpluginize.com\u002Fplugins\u002Fcustom-post-type-ui-extended\u002F?utm_source=cptui-desription&utm_medium=text&utm_campaign=wporg\" rel=\"nofollow ugc\">Custom Post Type UI Extended\u003C\u002Fa> was created to help with displaying your crafted content. \u003Ca href=\"https:\u002F\u002Fpluginize.com\u002Fcpt-ui-extended-features\u002F?utm_source=cptui-description-examples&utm_medium=text&utm_campaign=wporg\" rel=\"nofollow ugc\">View our Layouts page\u003C\u002Fa> to see available layout examples with Custom Post Type UI Extended.\u003C\u002Fp>\n\u003Ch4>Plugin development\u003C\u002Fh4>\n\u003Cp>Custom Post Type UI development is managed on GitHub, with official releases published on WordPress.org. The GitHub repo can be found at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWebDevStudios\u002Fcustom-post-type-ui\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FWebDevStudios\u002Fcustom-post-type-ui\u003C\u002Fa>. Please use the WordPress.org support tab for potential bugs, issues, or enhancement ideas.\u003C\u002Fp>\n","Admin UI for creating custom content types like post types and taxonomies",1000000,22647080,273,"2026-01-08T20:43:00.000Z",[116,100,117,118,119],"content-types","post-type","taxonomy","types","https:\u002F\u002Fgithub.com\u002FWebDevStudios\u002Fcustom-post-type-ui\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-post-type-ui.1.18.3.zip",93,4,"2025-12-12 00:00:00",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":35,"num_ratings":135,"last_updated":136,"tested_up_to":137,"requires_at_least":138,"requires_php":139,"tags":140,"homepage":143,"download_link":144,"security_score":145,"vuln_count":146,"unpatched_count":13,"last_vuln_date":147,"fetched_at":28},"pods","Pods – Custom Content Types and Fields","3.3.8","Scott Kingsley Clark","https:\u002F\u002Fprofiles.wordpress.org\u002Fsc0ttkclark\u002F","\u003Cp>Manage all your custom content needs in one location with the Pods Framework.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Create content types\u003C\u002Fstrong> including Custom Post Types, Custom Taxonomies, and our special Advanced Content Types (ACTs get their own custom tables)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extend and customize content types\u003C\u002Fstrong> including Posts, Pages, Categories, Tags, Users, and Media with one easy click\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Create custom settings pages\u003C\u002Fstrong> easily within seconds\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add custom fields\u003C\u002Fstrong> to \u003Cem>any\u003C\u002Fem> content type\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conditionally show fields\u003C\u002Fstrong> based on the value of other fields with Conditional Logic\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Group your fields\u003C\u002Fstrong> however you’d like into their own sections and add additional headings to help organize\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show your fields\u003C\u002Fstrong> anywhere using our \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Fdisplaying-pods\u002Fpods-blocks\u002F\" rel=\"nofollow ugc\">blocks\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Fdisplaying-pods\u002Fpods-shortcode\u002F\" rel=\"nofollow ugc\">shortcodes\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Fdisplaying-pods\u002Fpods-widgets\u002F\" rel=\"nofollow ugc\">widgets\u003C\u002Fa>, or the non-coder \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Fdisplaying-pods\u002Fpods-templates\u002F\" rel=\"nofollow ugc\">Pods Template\u003C\u002Fa> approach along with our \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Fdisplaying-pods\u002Fpods-templates\u002Fauto-templates\u002F\" rel=\"nofollow ugc\">automatic theme integration\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Create connections\u003C\u002Fstrong> between any of your content with \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Ffields\u002Frelationship\u002F\" rel=\"nofollow ugc\">relationship fields\u003C\u002Fa> to keep your content organized\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Let Pods help you grow your development and site building skills so that you can manage content beyond the standard WordPress Posts & Pages.\u003C\u002Fp>\n\u003Cp>Want to check it out? Give Pods a test drive with our new \u003Ca href=\"https:\u002F\u002Fpods.io\u002Fdemo\u002F\" rel=\"nofollow ugc\">One-click Demo\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Check out our \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fpods\u002F\" rel=\"ugc\">Support Forums\u003C\u002Fa>, and our \u003Ca href=\"https:\u002F\u002Fsupport.pods.io\u002Fchat\u002F\" rel=\"nofollow ugc\">Live Community Slack Chat\u003C\u002Fa> for assistance building your dream project with Pods.\u003C\u002Fp>\n\u003Ch4>Introduction\u003C\u002Fh4>\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\u002F0WqKZr2gPZY?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\u003Ch4>Content types that evolve with your needs\u003C\u002Fh4>\n\u003Cp>Create any type of content that you want — small or large — we’ve got you covered. Every content type created with Pods gets all the love it needs to grow up big and strong. You’ll get an easy-to-use interface that lets you manage field groups, custom fields, and how your content type will look or function.\u003C\u002Fp>\n\u003Ch4>Create new content types\u003C\u002Fh4>\n\u003Cp>With Pods, you can create entirely new content types and settings pages.\u003C\u002Fp>\n\u003Ch4>Every Field Type, FREE\u003C\u002Fh4>\n\u003Cp>If you choose to use Pods for your custom fields, you’ll get every field type you need, free of charge. Pods works great alongside \u003Ca href=\"https:\u002F\u002Fcomparewp.org\u002Fcck\" rel=\"nofollow ugc\">other custom field plugins\u003C\u002Fa> like \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-custom-fields\u002F\" rel=\"ugc\">Advanced Custom Fields\u003C\u002Fa> too.\u003C\u002Fp>\n\u003Cp>We have an extensive collection of over \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Ffields\u002F\" rel=\"nofollow ugc\">25 different input types to choose from on 20+ different field types for any content structure\u003C\u002Fa>. Each field type comes with their own additional options to help you customize content entry and display.\u003C\u002Fp>\n\u003Cp>You can also control visibility by role\u002Fcapability and \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Ffields\u002Fsettings-advanced\u002F\" rel=\"nofollow ugc\">other advanced options\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Repeatable Fields:\u003C\u002Fstrong> Turn almost any field into a repeatable field with multiple values\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Text:\u003C\u002Fstrong> Plain Text, Website, Phone, Email, Password\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Paragraph:\u003C\u002Fstrong> Plain Paragraph Text, WYSIWYG (Visual Editor), Code (Syntax Highlighting)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Date \u002F Time:\u003C\u002Fstrong> Date and Time, Date, Time\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number:\u003C\u002Fstrong> Plain Number, Currency (30+ international currencies)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Relationships \u002F Media:\u003C\u002Fstrong> File \u002F Image \u002F Video (Media library and basic upload options available), Avatar (for extended Users), oEmbed, Relationship (Dropdown, Multi Select, Autocomplete, Checkboxes, Radio Buttons, and List View available)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Checkbox\u003C\u002Fstrong> (Yes \u002F No)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Color Picker\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Layout Fields:\u003C\u002Fstrong> Heading text, HTML content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Relationships to rule the world with\u003C\u002Fh4>\n\u003Cp>The power is in your hands with our comprehensive support to \u003Cstrong>relate your content to anything\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom defined lists\u003C\u002Fstrong> of text options\u003C\u002Fli>\n\u003Cli>Relate to any \u003Cstrong>Post Type or Taxonomy\u003C\u002Fstrong> posts \u002F terms\u003C\u002Fli>\n\u003Cli>Relate to any \u003Cstrong>User\u003C\u002Fstrong> profile\u003C\u002Fli>\n\u003Cli>Relate to \u003Cstrong>User Roles or Capabilities\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Relate to any \u003Cstrong>Comment\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>And many other relationships are also available including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Image Sizes\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Navigation Menus\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Relate to content within \u003Cstrong>any Database Table\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Countries\u003C\u002Fstrong> (predefined)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>US States\u003C\u002Fstrong> (predefined)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Canadian Provinces\u003C\u002Fstrong> (predefined)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Calendar – Days of Week\u003C\u002Fstrong> (predefined)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Calendar – Months of Year\u003C\u002Fstrong> (predefined)\u003C\u002Fli>\n\u003Cli>And many more!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional Components to do even more\u003C\u002Fh4>\n\u003Cp>You can enable some of our included components to extend your WordPress site even further:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Types-only Mode\u003C\u002Fstrong> – On our Pods Settings page, you can choose to disable creating custom fields for a performance boost if you only want to use Pods for content types or you plan on using it alongside of other custom field plugins\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pods Templates\u003C\u002Fstrong> – Use our \u003Ca href=\"https:\u002F\u002Fdocs.pods.io\u002Fdisplaying-pods\u002Fpods-templates\u002F\" rel=\"nofollow ugc\">template engine\u003C\u002Fa> to create templates that can be handed off to clients for care-free management\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Markdown Syntax\u003C\u002Fstrong> – Parses \u003Ca href=\"https:\u002F\u002Fwww.markdownguide.org\u002Fbasic-syntax\" rel=\"nofollow ugc\">Markdown Syntax\u003C\u002Fa> for Paragraph Text \u002F WYSIWYG fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Relationships\u003C\u002Fstrong> – Add even more relationship objects including Database Tables, Multisite Networks, Multisite Sites, Themes, Page Templates (in the theme), Sidebars, Post Type Objects, and Taxonomy Objects\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Table Storage\u003C\u002Fstrong> – Enable table-based database storage for custom fields on Post Types, Media, Users, and Comments\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Roles and Capabilities\u003C\u002Fstrong> – Create or edit Roles for your site and customize what they have access to\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Content Types\u003C\u002Fstrong> – Create entirely custom content types that have their own database table, and they will exist outside the normal WordPress context avoiding meta database tables\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pods Pages\u003C\u002Fstrong> – Create custom pages that function off of your site’s URL path with wildcard support and choose the Page Template in the theme to use — most useful paired with Advanced Content Types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Plugins that integrate with Pods\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwplake.org\u002Fadvanced-views-lite\u002F?ref=5\" rel=\"nofollow ugc\">Advanced Views Lite\u003C\u002Fa> – Lets you build templates (views) and queries (cards) so that you can manage your content rendering with less code. (Disclaimer: We have an affiliate link to them to help support our project)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbricksbuilder.io\u002F\" rel=\"nofollow ugc\">Bricks Builder\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcodepress-admin-columns\u002F\" rel=\"ugc\">Codepress Admin Columns\u003C\u002Fa> using premium \u003Ca href=\"https:\u002F\u002Fwww.admincolumns.com\u002Fpods\u002F\" rel=\"nofollow ugc\">Admin Columns Pro\u003C\u002Fa> Pods integration\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fconductorplugin.com\u002F\" rel=\"nofollow ugc\">Conductor\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Felementor.com\u002Fpro\u002F\" rel=\"nofollow ugc\">Elementor Pro\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">Polylang\u003C\u002Fa> has direct integration in Pods itself\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftimber-library\u002F\" rel=\"ugc\">Timber\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-graphql\u002F\" rel=\"ugc\">WPGraphQL\u003C\u002Fa> has direct integration in Pods itself\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwpml.org\u002F\" rel=\"nofollow ugc\">WPML\u003C\u002Fa> has direct integration in Pods itself\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fyet-another-related-posts-plugin\u002F\" rel=\"ugc\">YARPP\u003C\u002Fa> has direct integration in Pods itself\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Themes that integrate with Pods\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.studiopress.com\u002Fthemes\u002Fgenesis\u002F\" rel=\"nofollow ugc\">Genesis\u003C\u002Fa> (StudioPress) has direct integration in Pods itself\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Extend Pods with Free Add-Ons\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpods-beaver-builder-themer-add-on\u002F\" rel=\"ugc\">Pods Beaver Themer Add-On\u003C\u002Fa> – Integrates Pods with \u003Ca href=\"https:\u002F\u002Fwww.wpbeaverbuilder.com\u002Fbeaver-themer\u002F\" rel=\"nofollow ugc\">Beaver Themer\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpods-gravity-forms\u002F\" rel=\"ugc\">Pods Gravity Forms Add-On\u003C\u002Fa> – Integrates Pods with \u003Ca href=\"https:\u002F\u002Fwww.gravityforms.com\u002F\" rel=\"nofollow ugc\">Gravity Forms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpods-alternative-cache\u002F\" rel=\"ugc\">Pods Alternative Cache Add-On\u003C\u002Fa> – Speed up Pods on servers with limited object caching capabilities\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpods-seo\u002F\" rel=\"ugc\">Pods SEO Add-On\u003C\u002Fa> – Integrates Pods Advanced Content Types with Yoast SEO\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpods-ajax-views\u002F\" rel=\"ugc\">Pods AJAX Views Add-On\u003C\u002Fa> – Adds new functions you can use to output template parts that load via AJAX after other page elements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Extend Pods with Free Third-party Add-Ons\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpmpro-pods\u002F\" rel=\"ugc\">Paid Memberships Pro – Pods Add On\u003C\u002Fa> – Integrates Pods with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpaid-memberships-pro\u002F\" rel=\"ugc\">Paid Memberships Pro\u003C\u002Fa> to extend PMPro objects with custom fields added by Pods\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpanda-pods-repeater-field\u002F\" rel=\"ugc\">Panda Pods Repeater Field Add-On\u003C\u002Fa> – Lets you add groups of fields that repeat and are stored in their own custom database table (Advanced setup required)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pods Pro by SKCDEV Premium Add-Ons\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpods-pro.skc.dev\u002Fdownloads\u002Flist-tables\u002F\" rel=\"nofollow ugc\">List Tables Add-On\u003C\u002Fa> – A new block and shortcode to list\u002Ffilter content from Pods in a table format\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpods-pro.skc.dev\u002Fdownloads\u002Fpage-builder-toolkit\u002F\" rel=\"nofollow ugc\">Page Builder Toolkit Add-On\u003C\u002Fa> – Integrates Pods with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbeaver-builder-lite-version\u002F\" rel=\"ugc\">Beaver Builder\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.wpbeaverbuilder.com\u002Fbeaver-themer\u002F\" rel=\"nofollow ugc\">Beaver Themer\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fconditionalblocks.com\u002F\" rel=\"nofollow ugc\">Conditional Blocks Pro\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.elegantthemes.com\u002Fgallery\u002Fdivi\u002F\" rel=\"nofollow ugc\">Divi Theme\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Felementor\u002F\" rel=\"ugc\">Elementor\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgenerateblocks\u002F\" rel=\"ugc\">GenerateBlocks\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Foxygenbuilder.com\u002F\" rel=\"nofollow ugc\">Oxygen Builder\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fwpstackable.com\u002Fpremium\u002F\" rel=\"nofollow ugc\">Stackable Blocks (premium)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpods-pro.skc.dev\u002Fdownloads\u002Fadvanced-relationship-storage\u002F\" rel=\"nofollow ugc\">Advanced Relationships Storage Add-On\u003C\u002Fa> – Advanced options for relationship storage\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpods-pro.skc.dev\u002Fdownloads\u002Ftablepress-integration\u002F\" rel=\"nofollow ugc\">TablePress Integration Add-On\u003C\u002Fa> – Integrates Pods with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftablepress\u002F\" rel=\"ugc\">TablePress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpods-pro.skc.dev\u002Fdownloads\u002Fadvanced-permalinks\u002F\" rel=\"nofollow ugc\">Advanced Permalinks Add-On\u003C\u002Fa> – Advanced permalink structures and taxonomy landing pages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How can I translate Pods into my own language?\u003C\u002Fh3>\n\u003Cp>Many thanks go out to the fine folks who have helped us translate the Pods plugin into many other languages.\u003C\u002Fp>\n\u003Cp>Join us in further translating the Pods interface on the official \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fpods\" rel=\"nofollow ugc\">Translating WordPress dashboard\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>We are also available through our \u003Ca href=\"https:\u002F\u002Fsupport.pods.io\u002Fchat\u002F\" rel=\"nofollow ugc\">Live Community Slack Chat\u003C\u002Fa> to help our translators get started and to support them on the process.\u003C\u002Fp>\n\u003Cp>Are you looking to translate your Pods and Fields themselves? You’ll want to enable the “Translate Pods” component from Pods Admin > Components.\u003C\u002Fp>\n\u003Ch3>Contributors\u003C\u002Fh3>\n\u003Cp>Pods really wouldn’t be where it is without all the contributions from our \u003Ca href=\"https:\u002F\u002Ffriends.pods.io\" rel=\"nofollow ugc\">donors\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpods-framework\u002Fpods\u002Fgraphs\u002Fcontributors\" rel=\"nofollow ugc\">code\u002Fsupport contributors\u003C\u002Fa>.\u003C\u002Fp>\n","Pods is a framework for creating, managing, and deploying customized content types and fields for any project.",100000,5155600,417,"2026-03-19T23:24:00.000Z","7.0","6.3","7.2",[116,141,100,142,126],"custom-fields","custom-taxonomies","https:\u002F\u002Fpods.io\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpods.3.3.8.zip",87,14,"2025-03-02 00:00:00",{"attackSurface":149,"codeSignals":226,"taintFlows":234,"riskAssessment":261,"analyzedAt":264},{"hooks":150,"ajaxHandlers":187,"restRoutes":222,"shortcodes":223,"cronEvents":224,"entryPointCount":225,"unprotectedCount":13},[151,157,161,165,169,172,176,177,181,184],{"type":152,"name":153,"callback":154,"file":155,"line":156},"action","admin_menu","register_menus","includes\u002Fclass-vpsm-admin.php",21,{"type":152,"name":158,"callback":159,"file":155,"line":160},"admin_enqueue_scripts","enqueue",23,{"type":152,"name":162,"callback":163,"file":164,"line":156},"rest_api_init","register","includes\u002Fclass-vpsm-api.php",{"type":152,"name":166,"callback":167,"priority":11,"file":168,"line":50},"wp_after_insert_post","reserve_on_create","includes\u002Fclass-vpsm-core.php",{"type":152,"name":158,"callback":159,"file":170,"line":171},"includes\u002Fclass-vpsm-metabox.php",19,{"type":152,"name":173,"callback":174,"file":175,"line":156},"admin_post_vpsm_save","save","includes\u002Fclass-vpsm-settings.php",{"type":152,"name":158,"callback":159,"file":175,"line":160},{"type":152,"name":178,"callback":179,"file":180,"line":160},"admin_init","closure","volume-post-sync-manager.php",{"type":152,"name":182,"callback":179,"file":180,"line":183},"admin_notices",29,{"type":152,"name":185,"callback":179,"file":180,"line":186},"plugins_loaded",59,[188,194,198,201,204,207,211,215,219],{"action":189,"nopriv":190,"callback":191,"hasNonce":192,"hasCapCheck":192,"file":155,"line":193},"vpsm_summary",false,"ajax_summary",true,22,{"action":195,"nopriv":190,"callback":196,"hasNonce":192,"hasCapCheck":192,"file":170,"line":197},"vpsm_push","ajax_push",20,{"action":199,"nopriv":190,"callback":200,"hasNonce":192,"hasCapCheck":192,"file":170,"line":156},"vpsm_push_start","ajax_push_start",{"action":202,"nopriv":190,"callback":203,"hasNonce":192,"hasCapCheck":192,"file":170,"line":193},"vpsm_push_chunk","ajax_push_chunk",{"action":205,"nopriv":190,"callback":206,"hasNonce":192,"hasCapCheck":192,"file":170,"line":160},"vpsm_push_finish","ajax_push_finish",{"action":208,"nopriv":190,"callback":209,"hasNonce":192,"hasCapCheck":192,"file":170,"line":210},"vpsm_pull","ajax_pull",24,{"action":212,"nopriv":190,"callback":213,"hasNonce":192,"hasCapCheck":192,"file":170,"line":214},"vpsm_ping","ajax_ping",25,{"action":216,"nopriv":190,"callback":217,"hasNonce":192,"hasCapCheck":192,"file":170,"line":218},"vpsm_check","ajax_check",26,{"action":220,"nopriv":190,"callback":221,"hasNonce":192,"hasCapCheck":192,"file":175,"line":193},"vpsm_test_connection","ajax_test_connection",[],[],[],9,{"dangerousFunctions":227,"sqlUsage":228,"outputEscaping":230,"fileOperations":232,"externalRequests":232,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":233},[],{"prepared":146,"raw":13,"locations":229},[],{"escaped":122,"rawEcho":13,"locations":231},[],1,[],[235,253],{"entryPoint":236,"graph":237,"unsanitizedCount":13,"severity":252},"render_log (includes\u002Fclass-vpsm-admin.php:185)",{"nodes":238,"edges":250},[239,244],{"id":240,"type":241,"label":242,"file":155,"line":243},"n0","source","$_GET (x2)",188,{"id":245,"type":246,"label":247,"file":155,"line":248,"wp_function":249},"n1","sink","echo() [XSS]",240,"echo",[251],{"from":240,"to":245,"sanitized":192},"low",{"entryPoint":254,"graph":255,"unsanitizedCount":13,"severity":252},"\u003Cclass-vpsm-admin> (includes\u002Fclass-vpsm-admin.php:0)",{"nodes":256,"edges":259},[257,258],{"id":240,"type":241,"label":242,"file":155,"line":243},{"id":245,"type":246,"label":247,"file":155,"line":248,"wp_function":249},[260],{"from":240,"to":245,"sanitized":192},{"summary":262,"deductions":263},"The \"volume-post-sync-manager\" v1.0.0 plugin exhibits a strong security posture based on the provided static analysis.  All identified AJAX handlers, the plugin's primary entry points, appear to have proper authentication checks, which is a critical security measure.  The code also demonstrates excellent practices regarding SQL queries, exclusively using prepared statements, and ensures all output is properly escaped, mitigating common injection and cross-site scripting (XSS) vulnerabilities. The absence of any critical or high-severity taint flows further reinforces this positive assessment.\n\nWhile the plugin has no recorded vulnerability history, which is a significant strength, there is a minor concern regarding file operations and external HTTP requests.  Although no immediate risks are evident without further context, these functionalities can sometimes introduce vulnerabilities if not handled with extreme care. The presence of nonce checks and capability checks on all identified entry points is commendable and indicates a developer aware of WordPress security best practices.  Overall, the plugin appears to be developed with security in mind, with a very low risk profile.",[],"2026-04-16T12:07:03.667Z",{"wat":266,"direct":279},{"assetPaths":267,"generatorPatterns":272,"scriptPaths":273,"versionParams":274},[268,269,270,271],"\u002Fwp-content\u002Fplugins\u002Fvolume-post-sync-manager\u002Fcss\u002Fvpsm-admin.css","\u002Fwp-content\u002Fplugins\u002Fvolume-post-sync-manager\u002Fcss\u002Fvpsm-dashboard.css","\u002Fwp-content\u002Fplugins\u002Fvolume-post-sync-manager\u002Fjs\u002Fvpsm-log.js","\u002Fwp-content\u002Fplugins\u002Fvolume-post-sync-manager\u002Fjs\u002Fvpsm-dashboard.js",[],[],[275,276,277,278],"volume-post-sync-manager\u002Fcss\u002Fvpsm-admin.css?ver=","volume-post-sync-manager\u002Fcss\u002Fvpsm-dashboard.css?ver=","volume-post-sync-manager\u002Fjs\u002Fvpsm-log.js?ver=","volume-post-sync-manager\u002Fjs\u002Fvpsm-dashboard.js?ver=",{"cssClasses":280,"htmlComments":284,"htmlAttributes":285,"restEndpoints":287,"jsGlobals":289,"shortcodeOutput":292},[281,282,283],"vpsm-log-type-sync","vpsm-log-type-error","vpsm-log-type-warning",[],[286],"data-vpsm-env-index",[288],"\u002Fwp-json\u002Fvpsm\u002Fv1\u002Fsummary",[290,291],"PSMDashboard","VPSMLog",[],{"error":192,"url":294,"statusCode":295,"statusMessage":296,"message":296},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fvolume-post-sync-manager\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":232,"versions":298},[299],{"version":6,"download_url":25,"svn_tag_url":300,"released_at":27,"has_diff":190,"diff_files_changed":301,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":302,"is_current":192},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fvolume-post-sync-manager\u002Ftags\u002F1.0.0\u002F",[],[]]