All those options are actually pointing to the active theme, but the difference is the value stored in each option:
-
The options
template
andstylesheet
both store the name of the active theme folder, e.g.twentytwentyone
for theTwenty Twenty-One
theme. But if you’re using a child theme, thenstylesheet
would be the name of the child theme folder, e.g.twentytwentyone-child
. -
current_theme
on the other hand (is or seems like a deprecated option which) stores the name of the active theme on the site, e.g.Twenty Twenty-One
.And this option is used by
get_current_theme()
(a deprecated function) and a deprecated option namedmods_<theme name>
(seeget_theme_mods()
).And note that I don’t have this option on my site (default install of WordPress 5.7), but if I had it, then the value would be the same as what
wp_get_theme()->get( 'Name' )
returns.