[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fwp6CoakR8siz5xOhj2vc9OySHBThJG8_fi_08YYx33s":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"jerrystewart99","https:\u002F\u002Fprofiles.wordpress.org\u002Fjerrystewart99\u002F",3,250,100,30,94,"2026-04-05T09:24:32.265Z",[13,38,54],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":19,"downloaded":20,"rating":21,"num_ratings":22,"last_updated":23,"tested_up_to":24,"requires_at_least":25,"requires_php":26,"tags":27,"homepage":33,"download_link":34,"security_score":8,"vuln_count":35,"unpatched_count":35,"last_vuln_date":36,"fetched_at":37},"logged-in-as","Logged In As","1.1.1","\u003Cp>An easy-to-use lightweight WordPress Plugin that can show the currently logged in user name or other metadata.\u003C\u002Fp>\n\u003Cp>Replaces a target menu item with alternate txt which can also include usermeta. User metadata would typically include ‘first-name’, ‘last-name’, ‘nickname’ etc\u003Cbr \u002F>\nAny available usermeta may be used.\u003C\u002Fp>\n\u003Cp>Optionally decorates the menu item with a user avatar. The avatar size is adjustable.\u003C\u002Fp>\n\u003Cp>The target menu, the replacement text and the avatar are all set on the options menu which is found in [Settings|Logged In As]\u003C\u002Fp>\n\u003Cp>Designed with the intention of being used in conjunction with a Membership plugin.\u003C\u002Fp>\n\u003Cp>The website visitor must be logged in for this plugin to work\u003C\u002Fp>\n\u003Cp>To date has been tested only with Ultimate Member and MemberPress membership plugins but others may work too\u003C\u002Fp>\n","Show the currently logged in user name and avatar",200,4664,96,4,"2025-12-20T21:16:00.000Z","6.9.4","5.4","7.0",[28,29,30,31,32],"logged-in","memberpress","members","membership","ultimate-member","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flogged-in-as.1.1.1.zip",0,null,"2026-03-15T15:16:48.613Z",{"slug":39,"name":40,"version":16,"author":4,"author_profile":5,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":35,"num_ratings":35,"last_updated":45,"tested_up_to":24,"requires_at_least":46,"requires_php":26,"tags":47,"homepage":33,"download_link":53,"security_score":8,"vuln_count":35,"unpatched_count":35,"last_vuln_date":36,"fetched_at":37},"lazy-load-fix-for-divi","Lazy Load Fix for Divi","\u003Cp>Offers Fine-grained control for manually setting the threshold which images on a Divi page are lazy-loaded.\u003C\u002Fp>\n\u003Cp>Includes a fix for a Divi bug that causes incorrect calculation of the lazy-load threshold.\u003C\u002Fp>\n\u003Ch4>Background\u003C\u002Fh4>\n\u003Cp>To improve page load performance, modern browsers allow for images and other media to be lazy loaded. Lazy loading defers media loading until after the first page render.\u003C\u002Fp>\n\u003Cp>For best page load performance, only \u003Cem>Below The Fold (btf)\u003C\u002Fem> media should be lazy loaded. \u003Cem>Below The Fold\u003C\u002Fem> means the part of the page that is not visible on first page load, prior to any scrolling.\u003C\u002Fp>\n\u003Cp>Google Page Speed Insights (PSI) will rightly complain if media \u003Cem>atf\u003C\u002Fem> are lazy loaded, and also if media \u003Cem>btf\u003C\u002Fem> are not lazy loaded.\u003C\u002Fp>\n\u003Cp>In version 5.7.0, WordPress added a feature that automatically adds the loading=”lazy” attribute to media it considers to be \u003Cem>btf\u003C\u002Fem>. What it considers \u003Cem>btf\u003C\u002Fem> basically means everything after the 3rd media component irrespective of page design.\u003C\u002Fp>\n\u003Cp>Divi’s Critical CSS feature attempts to do a better job of determining the fold by analysing the raw page modules’ shortcodes.\u003Cbr \u002F>\nDivi offers different threshold settings of where it considers \u003Cem>The Fold\u003C\u002Fem> to be. eg. ‘Low’, ‘Medium’ or ‘High’. (This setting is found in Divi Settings|Performance|Critical CSS Threshold.)\u003C\u002Fp>\n\u003Cp>The exact position of \u003Cem>The Fold\u003C\u002Fem> however, depends on a few factors, perhaps the most obvious is the screen width. Divi’s analysis is approximate and is easily confused by the use of additional custom css.\u003C\u002Fp>\n\u003Ch4>How the Lazy-Load-Fix-for-Divi plugin works\u003C\u002Fh4>\n\u003Cp>This plugin allows the developer to determine the exact position of \u003Cem>The Fold\u003C\u002Fem> by manually setting it’s location for each page. You can do this after making a simple observation in a browser at the screen widths you want to optimise for.\u003C\u002Fp>\n\u003Cp>For example, suppose you decide that you want to optimise for the following screen resolutions:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>1200 x 834 - desktop\n320 x 820 - mobile\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>(these are the approximate resolutions that Google PSI uses)\u003C\u002Fp>\n\u003Cp>Then, after completing your page design, inspect your page in a browser that is set to these dimensions\u003Ccode>(note 1)\u003C\u002Fcode> and identify the first Divi module that is \u003Cem>btf\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cp>To manually set the threshold, add one or more of the custom classes to the first Divi module \u003Cem>btf\u003C\u002Fem>.\u003Ccode>(note 2)\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Allowed values are:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>ww-btf-desktop\nww-btf-mobile\nww-btf-tablet (see note 3)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>All media items \u003Cem>btf\u003C\u002Fem> will be lazy-loaded, those \u003Cem>atf\u003C\u002Fem> won’t be.\u003C\u002Fp>\n\u003Cp>Repeat in the same way to set up thresholds for each page you want to optimise for.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Note that \u003Ccode>ww-btf-tablet\u003C\u002Fcode> is not implemented in this version and will be treated as \u003Ccode>ww-btf-mobile\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Notes\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Note 1 — Set a browser to a specific resolution\u003C\u002Fstrong> I suggest using Chrome with Developer Tools enabled (right click, select \u003Cem>Inspect\u003C\u002Fem>). Resizing the window with a mouse shows the window size next to the cursor.\u003Cbr \u002F>\n\u003Cstrong>Note 2 — Add a custom class to a Divi module\u003C\u002Fstrong> Edit the module and select the \u003Cem>Advanced\u003C\u002Fem> tab and use \u003Cem>CSS ID & Classes\u003C\u002Fem>\u003Cbr \u002F>\n\u003Cstrong>Note 3 —\u003C\u002Fstrong> Tablet devices are not implemented in this plugin version and will be treated as if they were \u003Ccode>ww-btf-mobile\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Divi BUG\u003C\u002Fh3>\n\u003Cp>In addition, this plugin fixes a code bug in Divi relating to the lazy loading of images. (introduced in 4.5.2 and still present in 4.27.4)\u003C\u002Fp>\n\u003Cp>The problem occurs in\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Divi\\includes\\builder\\core.php @ line #63\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>– the remove_filter() call quietly fails because the priority is not specified. This bug results in the WordPress media counting logic to be run twice which defeats the lazy-load threshold when using Divi.\u003Cbr \u002F>\nThe WordPress function remove_filter() specifies parameter 3 as \u003Ccode>int $priority = 10\u003C\u002Fcode>. If the priority is not 10 (in this case it is actually 12), the remove_filter call fails.\u003C\u002Fp>\n\u003Cp>I guess Elegant Themes’s priority are now with version 5 so this bug may not ever get fixed. If the bug ever gets fixed, this bugfix part of this plugin will have no effect.\u003C\u002Fp>\n\u003Cp>This bugfix is distinct from and will work independently from the custom setting of the custom classes described above.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> I contacted Elegant Themes about the bug and was advised to use the plugin: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-lazy-loading\u002F\" rel=\"ugc\">“Disable Lazy Loading”\u003C\u002Fa>\u003Cbr \u002F>\nwhich does an excellent job of disabling \u003Cstrong>ALL\u003C\u002Fstrong> lazy loading.\u003Cbr \u002F>\nIn this case though, this is not the behaviour I want.\u003C\u002Fp>\n\u003Cp>My motivation for writing this plugin is to improve the Google PSI score on Mobile and Desktop devices.\u003C\u002Fp>\n\u003Cp>I welcome helpful comments and suggestions 🙂\u003C\u002Fp>\n\u003Cp>This plugin will have no effect if used on Divi \u003C 4.5 or on WordPress \u003C 5.7.0\u003C\u002Fp>\n","Provides precise control of which media (images) are lazy-loaded for optimum page load performance.",40,626,"2025-12-20T21:03:00.000Z","5.7.0",[48,49,50,51,52],"above-the-fold","divi","image","lazy","lazy-load","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flazy-load-fix-for-divi.1.1.1.zip",{"slug":55,"name":56,"version":57,"author":4,"author_profile":5,"description":58,"short_description":59,"active_installs":60,"downloaded":61,"rating":35,"num_ratings":35,"last_updated":33,"tested_up_to":24,"requires_at_least":62,"requires_php":26,"tags":63,"homepage":33,"download_link":68,"security_score":8,"vuln_count":35,"unpatched_count":35,"last_vuln_date":36,"fetched_at":69},"minimal-stripe-wrapper","Minimal Stripe Wrapper","1.1.8","\u003Cp>Minimal Stripe Wrapper (MSW) is a lightweight and secure WordPress plugin designed to streamline Stripe payments with minimal setup and maximum flexibility. Unlike complex, feature-heavy payment plugins, MSW provides a low-footprint solution that leverages Stripe Checkout, ensuring the highest level of security while keeping your site’s payment workflow simple and efficient.\u003C\u002Fp>\n\u003Cp>Please visit the full \u003Ca href=\"https:\u002F\u002Fplugins.webworkz.nz\" rel=\"nofollow ugc\">Plugin Documentation\u003C\u002Fa> page.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Single payments via Stripe-hosted Checkout\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>No card or payment information are stored locally.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Can use Stripe Test mode for sandbox testing.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Can automatically add a surcharge to cover the Stripe transaction fee.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Will work with either logged in users (eg. a membership site) or not logged in users (eg. a donation)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Includes a shortcode Donate Form with variable amount.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Downloadable transactions history in the WP dashboard for tracking and cross-referencing transactions.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Security\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Uses Stripe-hosted forms. No card data touches your server.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Rate-limiting for extra protection.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Stripe secret keys are stored encrypted.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Uses the WordPress REST API with corresponding validation checks in addition to Stripe validation.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the Stripe API in order to initiate a Stripe Checkout session and to receive a Webhook response.\u003C\u002Fp>\n\u003Cp>You may specify what information is supplied to Stripe.\u003C\u002Fp>\n\u003Cp>The minimum information you must supply is the payment amount.\u003C\u002Fp>\n\u003Cp>You may optionally include a Users email, product name and quantity.\u003C\u002Fp>\n\u003Cp>Where an email is not supplied, Stripe will require the user to enter an email.\u003C\u002Fp>\n\u003Cp>See also the \u003Ca href=\"https:\u002F\u002Fstripe.com\u002Flegal\u002Fconsumer\" rel=\"nofollow ugc\">Stripe Consumer Terms of Service\u003C\u002Fa> and the \u003Ca href=\"https:\u002F\u002Fstripe.com\u002Fprivacy\" rel=\"nofollow ugc\">Stripe Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>How it Works\u003C\u002Fh3>\n\u003Cp>You can initiate a Stripe payment with any of these methods:\u003C\u002Fp>\n\u003Col>\n\u003Cli>The Gutenberg block element ‘Minimal Stripe Button’\u003C\u002Fli>\n\u003Cli>By using any clickable element of your choice (eg. a \u003Cbutton> or \u003Ca>) \u003C\u002Fli>\n\u003Cli>By using the shortcode-generated button.\u003C\u002Fli>\n\u003Cli>By using an action hook. \u003C\u002Fli>\n\u003Cli>By using the shortcode-generated donate-form.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Method 1: A Gutenberg block element\u003C\u002Fh4>\n\u003Cp>Add to your page using the WordPress block editor.\u003C\u002Fp>\n\u003Ch4>Method 2: Use an existing clickable element\u003C\u002Fh4>\n\u003Cp>Add a css class to any clickable target element.\u003Cbr \u002F>\neg. Use the page builder of your choice (eg. A Divi Button).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class=\"mswr-stripe-payment\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then add a filter hook to enter\u002Fmodify your specific payment details.\u003C\u002Fp>\n\u003Cp>For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'mswr_pre_stripe_checkout', function( $args ) {\n\n  \u002F\u002F add payment details\n  $args[ 'amount' ] = $amount;              \u002F\u002F use the smallest unit of your currency. ie. $123.45 => '12345'\n  $args[ 'currency' ] = 'nzd';              \u002F\u002F iso 4217 currency code\n  $args[ 'email' ] = abc@test.com;          \u002F\u002F eg. wp_get_current_user()->user_email;\n  $args[ 'product' ] = 'Your Product\u002FService name'; \u002F\u002F will appear on the Stripe Checkput page\n  $args[ 'user_meta' ] = 'Membership Renewal';  \u002F\u002F user-defined tag that can help identify a transaction in the Stripe webhook callback\n\n  return $args;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Method 3: Using a shortcode-generated button\u003C\u002Fh4>\n\u003Cp>This method requires no php code. You can however, optionally add a php hook (as above) to modify the Stripe parameters and to perform extra actions on the Stripe webhook callback.\u003C\u002Fp>\n\u003Cp>Example shortcode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[mswr_stripe_button amount=\"1234\" currency=\"usd\" email=\"abc@test.com\" product=\"Sample Product\" quantity=\"2\"  success_url=\"\u002Fpayment_success\" cancelled_url=\"\u002Fpayment_cancelled\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Method 4: WP hook\u003C\u002Fh4>\n\u003Cp>A developer method.\u003Cbr \u002F>\nUse PHP from your code to fire a WordPress ‘action’ which initiates a Stripe Checkout session with the specified Stripe arguments\u003C\u002Fp>\n\u003Cp>Action hook: \u003Ccode>mswr_initiate_stripe_payment\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$args = [ 'amount' => '12345' ];\nadd_action( 'mswr_initiate_stripe_payment', $args );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>…\u003C\u002Fp>\n\u003Ch3>Hooks available in Minimal Stripe Wrapper\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>1. mswr_initiate_stripe_payment\n2. mswr_pre_stripe_checkout\n3. mswr_{\\$type}\n4. mswr_shortcode_html\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Method 5: Donate Form\u003C\u002Fh4>\n\u003Cp>Shortcode generated Donate Form where the user can select the amount to pay.\u003C\u002Fp>\n\u003Cp>See the \u003Ca href=\"https:\u002F\u002Fplugins.webworkz.nz\" rel=\"nofollow ugc\">Plugin Documentation\u003C\u002Fa> for a full description\u003C\u002Fp>\n","Minimal Stripe Wrapper (MSW) – Simple, Secure, and Lightweight Stripe Integration for WordPress",10,740,"6.2",[64,65,31,66,67],"credit-card","donation","payment","stripe","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fminimal-stripe-wrapper.1.1.8.zip","2026-03-15T10:48:56.248Z"]