[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7s8hB5qrZwaQmqYuRQwOHeEut3fLVma-_esv49eMK0Q":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":143,"fingerprints":201},"external-content","External Content","1.4.0","Thorsten Frommen","https:\u002F\u002Fprofiles.wordpress.org\u002Ftfrommen\u002F","\u003Cp>Have you ever wanted to integrate external content such as a specific post of an external website into your WordPress website? But treat it like any other post? That is, have it appear as teaser or part of a specific (pseudo) archive?\u003C\u002Fp>\n\u003Cp>This is exactly when \u003Cem>External Content\u003C\u002Fem> kicks in.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>\u003Cem>External Content\u003C\u002Fem> registers a custom post type that, by default, supports title, content, excerpt and thumbnail. This can be customized, though. Managing your posts in your backend is no different from any other post type. Create a new post, give it a title, write some text, define an individual excerpt, and set a post thumbnail, if you wish. Then assign each post an individual external URL by means of the according meta box. This external URL will be used as the post’s permalink.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>In order to customize certain aspects of the plugin, it provides you with several filters. For each of these, a short description as well as a code example on how to alter the default behavior is given below. Just put the according code snippet in your theme’s \u003Ccode>functions.php\u003C\u002Fcode> file or your \u003Cem>customization\u003C\u002Fem> plugin, or to some other appropriate place.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>external_content_args\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you want to alter a specific post type argument but you can’t find a fitting filter, there’s \u003Ccode>external_content_args\u003C\u002Fcode>, which provides you with the complete args array.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Filter the post type args.\n *\n * @param array $args Post type args.\n *\u002F\nadd_filter( 'external_content_args', function( $args ) {\n\n    \u002F\u002F Use hierarchical external content\n    $args[ 'hierarchical' ] = TRUE;\n\n    return $args;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>external_content_description\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The post type description can be customized by using the \u003Ccode>external_content_description\u003C\u002Fcode> filter.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Filter the post type description.\n *\n * @param string $description Post type description.\n *\u002F\nadd_filter( 'external_content_description', function() {\n\n    \u002F\u002F Provide a description\n    return 'Simple post type for handling external content like any other post.';\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>external_content_labels\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>In case you don’t like the labels, easily adapt them to your liking.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Filter the post type labels.\n *\n * @param array $labels Post type labels.\n *\u002F\nadd_filter( 'external_content_labels', function( $labels ) {\n\n    \u002F\u002F A little more horror, please...\n    $labels[ 'not_found' ] = 'ZOMG, no external content found!!1!!1!!oneone!!!1!eleven!1!';\n\n    return $labels;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>external_content_meta_key\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you want to alter the meta key for the external URL, feel free to do it via this filter.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Filter the meta key.\n *\n * @param string $meta_key Meta key.\n *\u002F\nadd_filter( 'external_content_meta_key', function() {\n\n    \u002F\u002F Let's Shrekify the meta key\n    return 'far_far_away';\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>external_content_post_type\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Yes, you can also alter the post type (slug).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Filter the post type.\n *\n * @param string $post_type Post type.\n *\u002F\nadd_filter( 'external_content_post_type', function() {\n\n    return 'exotic_stuff';\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>external_content_supports\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This filter provides you with the post type supports.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Filter the post type supports.\n *\n * @param array $supports Post type supports.\n *\u002F\nadd_filter( 'external_content_supports', function( $supports ) {\n\n    \u002F\u002F If your theme uses the excerpt for teasers, just remove the editor to prevent confusion\n    foreach ( $supports as $key => $value ) {\n        if ( 'editor' === $value ) {\n            unset( $supports[ $key ] );\n        }\n    }\n\n    return $supports;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ccode>external_content_use_external_url\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The permalink of external content is, by default, replaced with the post’s according external URL (i.e., post meta). To disable this behavior, just do the following:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Filter the usage of the external URL as permalink.\n *\n * @param bool $use_external_url Use the external URL as permalink?\n *\u002F\nadd_filter( 'external_content_use_external_url', '__return_false' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Contribution\u003C\u002Fh4>\n\u003Cp>To \u003Cstrong>contribute\u003C\u002Fstrong> to this plugin, please see its \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftfrommen\u002Fexternal-content\" rel=\"nofollow ugc\">\u003Cstrong>GitHub repository\u003C\u002Fstrong>\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you have a feature request, or if you have developed the feature already, please feel free to use the Issues and\u002For Pull Requests section.\u003C\u002Fp>\n\u003Cp>Of course, you can also provide me with translations if you would like to use the plugin in another not yet included language.\u003C\u002Fp>\n","This plugin registers a custom post type to handle external content like any other post. The post permalink is replaced by a custom post meta that hol &hellip;",70,4302,80,1,"2016-01-03T17:48:00.000Z","4.4.34","2.9.0","",[20,21,22],"content","external","url","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fexternal-content\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexternal-content.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":25,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"tfrommen",6,2140,30,84,"2026-04-05T01:50:00.629Z",[38,56,76,101,121],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":26,"downloaded":46,"rating":26,"num_ratings":26,"last_updated":18,"tested_up_to":47,"requires_at_least":48,"requires_php":18,"tags":49,"homepage":52,"download_link":53,"security_score":54,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":55},"custom-url-replacer","Custom URL Replacer","1.0.1","Hyperspective","https:\u002F\u002Fprofiles.wordpress.org\u002Fhyperspective\u002F","\u003Cp>Custom URL Replacer scans your post content for anchor tags where the visible text exactly matches the full URL. If the URL is external to your site, it replaces the text with a custom string. Additionally, if the “Open in New Tab” setting is enabled, the plugin forces all external links to open in a new tab by adding target=”_blank” and rel=”noopener noreferrer” automatically. A settings page is provided under the Tools menu so you can customize the replacement text and toggle the new tab option.\u003C\u002Fp>\n","Short Description: Replaces anchor text matching an external URL with custom text and can force external links to open in a new tab.",911,"6.7.5","5.0",[20,21,50,51,22],"links","replacement","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdynamic-video-for-divi-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-url-replacer.1.0.1.zip",100,"2026-03-15T10:48:56.248Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":54,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":18,"tags":70,"homepage":74,"download_link":75,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"external-thumbnail","External Thumbnail","1.2.1","mrtaiw","https:\u002F\u002Fprofiles.wordpress.org\u002Fmrtaiw\u002F","\u003Cp>Using external images from anywhere to make thumbnail.\u003C\u002Fp>\n\u003Cp>If empty url image, will take the first picture in the post as thumbnail\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Having problems or need support? Feel free to email mrtaiw@gmail.com or Facebook https:\u002F\u002Fwww.facebook.com\u002Ftaiw96\u003C\u002Fp>\n","Using external images from anywhere to make thumbnail",10000,4535,2,"2016-06-17T07:31:00.000Z","4.5.33","3.3",[71,57,72,73],"external-featured-image","remote-thumbnail","thumbnail-via-url","http:\u002F\u002Fthucdem.mobi","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexternal-thumbnail.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":54,"num_ratings":86,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":90,"tags":91,"homepage":97,"download_link":98,"security_score":99,"vuln_count":14,"unpatched_count":26,"last_vuln_date":100,"fetched_at":28},"exmage-wp-image-links","EXMAGE – WordPress Image Links","1.1.1","VillaTheme","https:\u002F\u002Fprofiles.wordpress.org\u002Fvillatheme\u002F","\u003Cp>EXMAGE – WordPress Image Links helps you save storage by using external image URLs. These images are shown in Media library like normal images so that you can choose them for post\u002Fproduct featured image, WooCommerce product gallery… or everywhere that images are chosen from Media library.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fnew2new.com\u002F?item=exmage\" title=\"Demo EXMAGE - WordPress Image Links\" rel=\"nofollow ugc\">Try the Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdocs.villatheme.com\u002F?item=exmage\" title=\"Documents\" rel=\"nofollow ugc\">Documents\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002F1.envato.market\u002FN9DKr7\" title=\"Premium Version\" rel=\"nofollow ugc\">Pro Version\u003C\u002Fa> | | \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002Fvillatheme\" title=\"VillaTheme\" rel=\"nofollow ugc\">Facebook group\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Preview EXMAGE – WordPress Image Links\u003C\u002Fh3>\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\u002FR_hNwUIGqIQ?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>How to install and use the plugin\u003C\u002Fh3>\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\u002FKSQoZjM7yBI?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>Important Notice:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>This plugin only supports real image URLs that have correct image mime type. It does not support image URLs from an image hosting service(such as Flickr, Imgur, Photobucket …) or a file storage service(such as Google drive)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>External images added by this plugin will no longer work if the plugin is not active\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>FEATURES\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Ability to add single image URL on Upload files tab of the Media library\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Ability to add multiple image URLs at once on below the File upload on Upload New Media page\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>External images have an icon to distinguish them from normal attachments.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>External images also have attachment ID like normal attachments so that you can use them wherever that allows to insert images from Media library such as Post\u002FProduct featured image, product gallery images, variation image, product category image…\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Compatible with ALD plugin: when this plugin is active, there will be an option named “Use external links for images” in the ALD plugin settings\u002FProducts. By enabling this option, AliExpress products imported by ALD plugin will use original AliExpress image URLs for product featured images, gallery images and variation images instead of saving images to your server.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>=Integration=\u003C\u002Fp>\n\u003Cpre>\u003Ccode>if(class_exists( 'EXMAGE_WP_IMAGE_LINKS' )){\n    $add_image = EXMAGE_WP_IMAGE_LINKS::add_image( $url, $image_id, $post_parent );\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>-$url: URL of the image you want to process\u003Cbr \u002F>\n-$image_id: Passed by reference\u003Cbr \u002F>\n-$post_parent: ID of the post that you want the image to be attached to. If empty, the image will not be attached to any post\u003Cbr \u002F>\n-Return:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>        [\n        'url'       => $url,\u002F\u002FInput URL\n        'message'   => '',\u002F\u002FAdditional information\n        'status'    => 'error',\u002F\u002Ferror or success\n        'id'        => '',\u002F\u002FAttachment ID if added new or the attachment exists\n        'edit_link' => '',\u002F\u002FAttachment's edit link if added new or the attachment exists\n        ]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>MAY BE YOU NEED\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002F9map-map-multi-locations\u002F\" rel=\"ugc\">9Map – Map Multi Locations\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-abandoned-cart-recovery\u002F\" rel=\"ugc\">Abandoned Cart Recovery for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-advanced-product-information\u002F\" rel=\"ugc\">Advanced Product Information for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Faffi-affiliate-marketing-for-woo\u002F\" rel=\"ugc\">AFFI – Affiliate Marketing for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-alidropship\u002F\" rel=\"ugc\">ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-boost-sales\u002F\" rel=\"ugc\">Boost Sales for WooCommerce – Set up Up-Sells & Cross-Sells Popups & Auto Apply Coupon\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbopo-woo-product-bundle-builder\u002F\" rel=\"ugc\">Bopo – WooCommerce Product Bundle Builder\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbulky-bulk-edit-products-for-woo\u002F\" rel=\"ugc\">Bulky – Bulk Edit Products for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-cart-all-in-one\u002F\" rel=\"ugc\">Cart All In One For WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcatna-woo-name-your-price-and-offers\u002F\" rel=\"ugc\">Catna – Woo Name Your Price and Offers\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcheckout-upsell-funnel-for-woo\u002F\" rel=\"ugc\">Checkout Upsell Funnel for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fchinads-dropshipping-taobao-woocommerce\u002F\" rel=\"ugc\">ChinaDS – Tmall-Taobao Dropshipping for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclear-autoptimize-cache-automatically\u002F\" rel=\"ugc\">Clear Autoptimize Cache Automatically\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcompe-woo-compare-products\u002F\" rel=\"ugc\">COMPE – WooCommerce Compare Products\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-coupon-reminder\u002F\" rel=\"ugc\">Coreem – Coupon Reminder for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-coupon-box\u002F\" rel=\"ugc\">Coupon Box for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-multi-currency\u002F\" rel=\"ugc\">CURCY – Multi Currency for WooCommerce – Smoothly on WooCommerce 9.x\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-customer-coupons\u002F\" rel=\"ugc\">Customer Coupons for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdepart-deposit-and-part-payment-for-woo\u002F\" rel=\"ugc\">DEPART – Deposit and Part payment for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Femail-template-customizer-for-woo\u002F\" rel=\"ugc\">Email Template Customizer for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fepoi-wp-points-and-rewards\u002F\" rel=\"ugc\">EPOI – WP Points and Rewards\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fepow-custom-product-options-for-woocommerce\u002F\" rel=\"ugc\">EPOW – Custom Product Options for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feu-cookies-bar\u002F\" rel=\"ugc\">EU Cookies Bar for WordPress\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fexmage-wp-image-links\u002F\" rel=\"ugc\">EXMAGE – WordPress Image Links\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-virtual-reviews\u002F\" rel=\"ugc\">Faview – Virtual Reviews for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffewc-extra-checkout-fields-for-woocommerce\u002F\" rel=\"ugc\">FEWC – Extra Checkout Fields For WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-free-shipping-bar\u002F\" rel=\"ugc\">Free Shipping Bar for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgift4u-gift-cards-all-in-one-for-woo\u002F\" rel=\"ugc\">GIFT4U – Gift Cards All in One for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhandmade-dropshipping-for-etsy-and-woo\u002F\" rel=\"ugc\">HANDMADE – Dropshipping for Etsy and WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhappy-helpdesk-support-ticket-system\u002F\" rel=\"ugc\">HAPPY – Helpdesk Support Ticket System\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjagif-woo-free-gift\u002F\" rel=\"ugc\">Jagif – WooCommerce Free Gift\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-lookbook\u002F\" rel=\"ugc\">LookBook for WooCommerce – Shoppable with Product Tags\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-lucky-wheel\u002F\" rel=\"ugc\">Lucky Wheel for WooCommerce – Spin a Sale\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-lucky-wheel\u002F\" rel=\"ugc\">Lucky Wheel Giveaway\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-notification\u002F\" rel=\"ugc\">Notification for WooCommerce | Boost Your Sales – Recent Sales Popup – Live Feed Sales – Upsells\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-orders-tracking\u002F\" rel=\"ugc\">Orders Tracking for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-photo-reviews\u002F\" rel=\"ugc\">Photo Reviews for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpofily-woo-product-filters\u002F\" rel=\"ugc\">Pofily – WooCommerce Product Filters\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-pre-orders-for-woo\u002F\" rel=\"ugc\">PRENA – Product Pre-Orders for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-product-builder\u002F\" rel=\"ugc\">Product Builder for WooCommerce – Custom PC Builder\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-size-chart-for-woo\u002F\" rel=\"ugc\">Product Size Chart For WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-variations-swatches-for-woocommerce\u002F\" rel=\"ugc\">Product Variations Swatches for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fredis-woo-dynamic-pricing-and-discounts\u002F\" rel=\"ugc\">REDIS – WooCommerce Dynamic Pricing and Discounts\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frees-real-estate-for-woo\u002F\" rel=\"ugc\">REES – Real Estate for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimport-shopify-to-woocommerce\u002F\" rel=\"ugc\">S2W – Import Shopify to WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsales-countdown-timer\u002F\" rel=\"ugc\">Sales Countdown Timer\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsubre-product-subscription-for-woo\u002F\" rel=\"ugc\">SUBRE – Product Subscription for WooCommerce – Recurring Payments\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-suggestion-engine\u002F\" rel=\"ugc\">Suggestion Engine for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-thank-you-page-customizer\u002F\" rel=\"ugc\">Thank You Page Customizer for WooCommerce – Increase Your Sales\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftmds-dropshipping-for-temu-and-woo\u002F\" rel=\"ugc\">TMDS – Dropshipping for TEMU and Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvargal-additional-variation-gallery-for-woo\u002F\" rel=\"ugc\">VARGAL – Additional Variation Gallery for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvillatheme-core\u002F\" rel=\"ugc\">VillaTheme Core\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvima-multi-customer-addresses-for-woo\u002F\" rel=\"ugc\">VIMA – Multi Customer Addresses for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fviseek-easy-custom-search\u002F\" rel=\"ugc\">VISeek – Easy Custom Search\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fw2s-migrate-woo-to-shopify\u002F\" rel=\"ugc\">W2S – Migrate WooCommerce to Shopify\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwebpos-point-of-sale-for-woocommerce\u002F\" rel=\"ugc\">WebPOS – Point of Sale for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpbulky-wp-bulk-edit-post-types\u002F\" rel=\"ugc\">WPBulky – WordPress Bulk Edit Post Types\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Plugin Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fvillatheme.com\u002Fextensions\u002Fexmage-wordpress-image-links\u002F\" rel=\"nofollow ugc\">Project Page\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fvillatheme.com\u002Fknowledge-base\u002Fsecurity-is-our-priority\u002F\" rel=\"nofollow ugc\">Report Bugs\u002FIssues\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Add images using external links - Save your storage with EXMAGE effortlessly",7000,158922,33,"2026-01-21T03:37:00.000Z","6.9.4","5.0.0","7.0",[92,93,94,95,96],"elementor-gallery-with-links","woocommerce-product-image-external-url","wordpress-gallery-custom-links","wordpress-gallery-with-links","wordpress-image-links","https:\u002F\u002Fvillatheme.com\u002Fextensions\u002Fexmage-wordpress-image-links\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexmage-wp-image-links.zip",99,"2022-04-14 00:00:00",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":111,"num_ratings":112,"last_updated":113,"tested_up_to":114,"requires_at_least":115,"requires_php":18,"tags":116,"homepage":119,"download_link":120,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"root-relative-urls","Root Relative URLs","2.3","MarcusPope","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcuspope\u002F","\u003Cp>A WordPress plugin that converts all URL formats to root-relative URLs to enable seamless transitioning between staging\u002Fproduction host environments and debugging\u002Ftesting from mobile devices, without the use of hackish tactics like textual find-replace strategies or risky hosts\u002FNAT spoofing strategies.\u003C\u002Fp>\n\u003Cp>With Root Relative URLs you can browse your development site from http:\u002F\u002Flocalhost\u002F or http:\u002F\u002F127.0.0.1\u002F or from a named network resource like http:\u002F\u002Fmycomputername\u002F without worrying about links redirecting you back to your site’s URL.\u003C\u002Fp>\n\u003Cp>This plugin also modifies the tinyMCE hooks so links and media embedded with built-in tools will only insert URLs from the first forward slash after the domain (i.e. the root of your site.)  This means when you push content changes to a staging or production environment they are guaranteed to reference the correct target instead of accidentally referencing a production resource in development or, worse-yet, a development-exclusive resource in production.\u003C\u002Fp>\n\u003Cp>It supports path-based MU Installations, but does not support domain-based MU sites due to architectural deficiencies in the WordPress core.\u003C\u002Fp>\n\u003Cp>Version 1.5 fixes an infinite redirect problem that is a result of a core bug in WordPress.  If you have problems with the \u003C!–more–> tag or permalinks for custom post types, please read the FAQ or new Install Steps for support.\u003C\u002Fp>\n\u003Cp>Version 2.2 allows for adding certain URL’s or partial URL’s to a blacklist, meaning I won’t use root relative urls, but dynamic absolute URLs instead for displaying content.  This will fix problems with 3rd party plugins, and can be configured on the General Settings page.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Converts all URLs to root-relative URLs for hosting the same site on multiple IPs, easier production migration and better mobile device testing.",6000,77389,58,20,"2017-11-28T08:04:00.000Z","3.5.2","3.2.1",[117,20,50,118,22],"admin","multisite","http:\u002F\u002Fwww.marcuspope.com\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Froot-relative-urls.zip",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":129,"downloaded":130,"rating":13,"num_ratings":131,"last_updated":132,"tested_up_to":133,"requires_at_least":134,"requires_php":135,"tags":136,"homepage":141,"download_link":142,"security_score":54,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"advance-canonical-url","Advance Canonical URL","1.0.4","Usman Ali Qureshi","https:\u002F\u002Fprofiles.wordpress.org\u002Fusmanaliqureshi\u002F","\u003Cp>Advanced Canonical URL is a powerful WordPress plugin designed to enhance your website’s SEO by preventing duplicate content issues. With its advanced settings, you can easily configure canonical URLs across your site, ensuring search engines prioritize the right pages for better rankings and improved visibility.\u003C\u002Fp>\n","Advanced Canonical URL is a powerful WordPress plugin designed to enhance your website’s SEO by preventing duplicate content issues.",2000,17843,4,"2025-05-19T05:22:00.000Z","6.8.5","5.2","7.3",[137,138,139,140,22],"canonical","canonical-url","duplicate","duplicate-content","https:\u002F\u002Fgithub.com\u002Fusmanaliqureshi\u002Fadvance-canonical-url","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvance-canonical-url.1.0.4.zip",{"attackSurface":144,"codeSignals":180,"taintFlows":193,"riskAssessment":194,"analyzedAt":200},{"hooks":145,"ajaxHandlers":176,"restRoutes":177,"shortcodes":178,"cronEvents":179,"entryPointCount":26,"unprotectedCount":26},[146,152,157,162,168,172],{"type":147,"name":148,"callback":149,"file":150,"line":151},"action","plugins_loaded","anonymous","external-content.php",24,{"type":147,"name":153,"callback":154,"file":155,"line":156},"add_meta_boxes","add","inc\\Controllers\\MetaBox.php",45,{"type":147,"name":158,"callback":159,"priority":160,"file":155,"line":161},"save_post","save",10,47,{"type":163,"name":164,"callback":165,"priority":160,"file":166,"line":167},"filter","post_type_link","get_external_url","inc\\Controllers\\Post.php",36,{"type":163,"name":169,"callback":170,"priority":160,"file":166,"line":171},"pre_get_shortlink","get_shortlink",38,{"type":147,"name":173,"callback":174,"file":175,"line":167},"wp_loaded","register","inc\\Controllers\\PostType.php",[],[],[],[],{"dangerousFunctions":181,"sqlUsage":182,"outputEscaping":184,"fileOperations":26,"externalRequests":26,"nonceChecks":14,"capabilityChecks":14,"bundledLibraries":192},[],{"prepared":66,"raw":26,"locations":183},[],{"escaped":185,"rawEcho":66,"locations":186},3,[187,191],{"file":188,"line":189,"context":190},"inc\\Views\\MetaBox.php",94,"raw output",{"file":188,"line":99,"context":190},[],[],{"summary":195,"deductions":196},"The \"external-content\" plugin v1.4.0 demonstrates a strong security posture based on the provided static analysis. It has no identified entry points such as AJAX handlers, REST API routes, or shortcodes, which significantly reduces its attack surface.  The code also shows good practices with 100% of SQL queries using prepared statements and the presence of nonce and capability checks, indicating an effort to prevent common WordPress vulnerabilities. There are no reported vulnerabilities in its history, which is a positive indicator.\n\nHowever, the static analysis does reveal a minor concern regarding output escaping, with 40% of outputs not being properly escaped. While there are no critical or high-severity taint flows identified, and no dangerous functions are used, this unescaped output could potentially lead to cross-site scripting (XSS) vulnerabilities if user-controlled data is not handled correctly. The absence of external HTTP requests and file operations further strengthens its security profile. Overall, the plugin is well-secured due to its limited attack surface and adherence to good coding practices, but the unescaped output warrants attention to ensure complete protection against potential XSS attacks.",[197],{"reason":198,"points":199},"Unescaped output detected (40%)",8,"2026-03-16T21:38:30.018Z",{"wat":202,"direct":207},{"assetPaths":203,"generatorPatterns":204,"scriptPaths":205,"versionParams":206},[],[],[],[],{"cssClasses":208,"htmlComments":209,"htmlAttributes":210,"restEndpoints":211,"jsGlobals":212,"shortcodeOutput":213},[],[],[],[],[],[]]