The after_theme_row action fires after each row in the Multisite themes list table. It is useful for adding custom content or functionality to the themes list in a WordPress Multisite environment.
Usage
add_action('after_theme_row', 'your_custom_function', 10, 3);
function your_custom_function($stylesheet, $theme, $status) {
// your custom code here
}
Parameters
$stylesheet(string) – Directory name of the theme.$theme(WP_Theme) – Current WP_Theme object.$status(string) – Status of the theme.
More information
See WordPress Developer Resources: after_theme_row
Examples
Display a custom message after each theme row
add_action('after_theme_row', 'display_custom_message', 10, 3);
function display_custom_message($stylesheet, $theme, $status) {
echo '<p>Custom message goes here.</p>';
}
Add a custom CSS class to each theme row
add_action('after_theme_row', 'add_custom_class', 10, 3);
function add_custom_class($stylesheet, $theme, $status) {
echo '<style>.theme-row-' . $stylesheet . ' { color: red; }</style>';
}
Display the theme version after each theme row
add_action('after_theme_row', 'display_theme_version', 10, 3);
function display_theme_version($stylesheet, $theme, $status) {
echo '<p>Theme version: ' . $theme->get('Version') . '</p>';
}
Show a custom message if the theme is inactive
add_action('after_theme_row', 'display_message_for_inactive_theme', 10, 3);
function display_message_for_inactive_theme($stylesheet, $theme, $status) {
if ($status == 'inactive') {
echo '<p>This theme is currently inactive.</p>';
}
}
Display a custom action link for each theme
add_action('after_theme_row', 'add_custom_action_link', 10, 3);
function add_custom_action_link($stylesheet, $theme, $status) {
$custom_link = admin_url('themes.php?custom-action=' . $stylesheet);
echo '<a href="' . esc_url($custom_link) . '">Custom action</a>';
}