extension-command icon indicating copy to clipboard operation
extension-command copied to clipboard

Add wp theme cache command

Open spacedmonkey opened this issue 1 year ago • 7 comments

Feature Request

Describe your use case and the problem you are facing

Add the following commands

wp theme cache <theme> get <key> 
wp theme cache <theme> add <key> <data>
wp theme cache <theme> delete

Describe the solution you'd like

Add command would map to the method cache_add on WP_Theme class. Get command would map to the method cache_get on WP_Theme class. Delete command would map to the method cache_delete on WP_Theme class.

This would help manage and clear theme related caches.

spacedmonkey avatar Jan 16 '24 23:01 spacedmonkey

This would be useful for cache invalidation of theme caches, related to current performance work.

CC @swissspidy @joemcgill @felixarntz

spacedmonkey avatar Jan 16 '24 23:01 spacedmonkey

I amenable to this. Feel free to submit a pull request, if you'd like. Here is some guidance on our pull request best practices.

danielbachhuber avatar Jan 16 '24 23:01 danielbachhuber

WP_Theme::cache_add() and WP_Theme::cache_get() are private, so we can't really use these.

The delete method is public, but maybe this could be used via wp cache delete and wp cache flush-group? The cache key property itself is also private though, so we can't really access it.

swissspidy avatar Jan 16 '24 23:01 swissspidy

WP_Theme::cache_add() and WP_Theme::cache_get() are private, so we can't really use these.

It maybe possible to use a reflection or copy the logic from inside these methods.

The delete method is public, but maybe this could be used via wp cache delete and wp cache flush-group? The cache key property itself is also private though, so we can't really access it.

It is not possible, as the cache key is not predictable. See. Cache key have been salted with a cache hash. Not be mention the other cache clearing that happens in the cache_delete method.

spacedmonkey avatar Jan 17 '24 00:01 spacedmonkey

Can we maybe try to replicate the exact functions being internally used in class-wp-theme.php for these functions? We can replicate the entire logic for the functions and along with it replicate the cache related dependencies for the CLI Command like cache_expiration and cache_hash as well.

mchirag2002 avatar May 31 '24 12:05 mchirag2002

Can we maybe try to replicate the exact functions being internally used in class-wp-theme.php for these functions? We can replicate the entire logic for the functions and along with it replicate the cache related dependencies for the CLI Command like cache_expiration and cache_hash as well.

What would the be the benefit of that?

spacedmonkey avatar Jun 01 '24 16:06 spacedmonkey

What would the be the benefit of that?

The benefit would be that we shall be able to replicate the complete functionality of the private functions WP_Theme::cache_add() and WP_Theme::cache_get() directly for our CLI commands without creating any wrapper functions in the class-wp-theme.php

mchirag2002 avatar Jun 03 '24 05:06 mchirag2002