add custom filter to plugins page?

you can do that with the help of 2 filters : add_filter(“plugins_list”, function ($plugins) { $filter_code = “with_b”; if ( isset($_GET[“plugin_status”]) && ($filter_code === $_GET[“plugin_status”]) ) { $GLOBALS[“status”] = $filter_code; // setting the filter to display in current page } // preparation of the plugins in the special category $plugins[$filter_code] = array_filter($plugins[“all”], function ($plugin) { … Read more

Install an external plugin from within the current plugin?

This solution should do the job for you. http://tgmpluginactivation.com/ The solution is meant for theme developers to package to download, automatically install and activate multiple plugins that are either packaged with a theme, downloaded from the WordPress Plugin Repository or downloaded elsewhere on the internet (perhaps a private repository. The code of the solution can … Read more

How to test plugin development with Git Hub Actions (integration tests)?

There are a couple GitHub Actions available in the Marketplace for checking response codes: https://github.com/marketplace/actions/check-url-status https://github.com/marketplace/actions/http-status There’s also this question on Stack Overflow if you want to do it custom: https://stackoverflow.com/questions/65728933/how-to-capture-a-curl-http-status-code-in-a-github-action-to-determine-success-f

all plug-ins load scripts on all pages

Most plugins will load their assets in the header on all pages, because they know very little about your site, and how you’re using the plugin. This is a reason why it’s generally advisable to use plugins only if you have to: they’re built to work for as many people as possible, which means they’re … Read more

WP_PLUGIN_URL equivalent

WordPress is expecting http, but you’re visiting with https which is causing the mixed content error. Setting your site and address URLs to use https should solve your problem. If you can’t use https in the admin, then you’ll need to try ways to tell WordPress to use https only on the frontend. Try something … Read more