Ways to disable or limit WordPress postmeta caching

I don’t have full confirmation that they no longer see out of memory issues, but from logging the memory usage at shutdown it appears that this memory issue has likely been reduced by setting the following option in the get_posts call in cartflows: ‘update_post_meta_cache’ => false Obviously this isn’t ideal as a plugin update will … Read more

WordPress custom css/js version not loading correct

It’s not clear if you’re trying to load these files on frontend or backend. For the backend I usually do this: define(‘MY_PLUGIN_DIR_URL’, plugin_dir_url(__FILE__)); //LOAD ADMIN/BACKEND CSS STYLES add_action(‘admin_enqueue_scripts’, ‘my_plugin_enqueue_style_and_scripts’, 99); function my_plugin_enqueue_style_and_scripts() { $timestamp = time(); wp_enqueue_style(‘my-plugin-backend’, MY_PLUGIN_DIR_URL.’/css/style.css’, false, $timestamp, ‘all’); wp_enqueue_script( ‘my-plugin-backend’, MY_PLUGIN_DIR_URL.’/js/script.js’, array( ‘signature’ ), $timestamp, true ); } You doesn’t need to … Read more

How to clear capabilities cache?

That added the Settings menu at the left for a logged in Author. Because the author role now has the required capabilities. Then I removed the second line above and the Settings menu remains! That’s because role data is stored in dedicated tables the same way as user meta and posts. It’s not like post … Read more

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

Best Practice for storing aggregate data by date or other criteria?

I settled on using wp_cache_set and wp_cache_get which seems to do well. I create a key based on the class, function, and parameters: $cacheKey = self::createCacheKey( __CLASS__, __FUNCTION__, $referenceYear, $referenceMonth ); createCacheKey() looks like: protected static function createCacheKey( …$args ): string { return implode(‘-‘, $args); } And I’m sure to use an appropriate expiration. For … Read more