---
title: "Can we Modify Drupal Status Messages? · Appnovation"
url: "https://www.appnovation.com/insights/can-we-modify-drupal-status-messages"
description: "Want control over Drupal status messages from contributed modules? A simple theming trick to alter messages without hook_message_alter."
---

Article

# Can we Modify Drupal Status Messages?

[![](https://cdn.sanity.io/images/ey850001/production/36eb314260fb474cacc1b3a473d7e8402d997898-68x68.png?w=68&auto=format) Appno Blogger Appnovation Coop](/people/appno-blogger.md) May 28, 2009  
 2 min read 

![Appnovation Blog Default Header](https://cdn.sanity.io/images/ey850001/production/9efe1c26d9584ecfb3dfef5a63e698bf4567d305-1440x600.jpg?w=1400&auto=format) 

If you've ever wished you had control over Drupal status messages generated by contributed modules and/or ever longed for hook\_message\_alter, you may be interested in this little [Drupal web developer](/services/drupal-development.md) trick for changing these messages. First, add this theming function to your template.php file (the function name "phptemplate\_" may be replaced with your theme name):

`` `function phptemplate_status_messages($display = NULL) {` `` `` `$output = '';` `` `` `foreach (drupal_get_messages($display) as $type => $messages) {` `` `` `if (count($messages) > 1) {` `` `` `$list = '';` `` `` `$items = '';` `` `` `foreach ($messages as $message) {` `` `` `modify_message($message);` `` `` `if (!empty($message)) {` `` `` `$items .= '` ``

*   `` `'. $message ."` ``

`` `\n";` `` `` `}` `` `` `}` `` `` `if (!empty($items)) {` `` `` `$list = "` ``

\\n";

$list .= $items;

`` `\n";` `` `` `}` `` `` `}` `` `` `else {` `` `` `$message = $messages[0];` `` `` `modify_message($message);` `` `` `$list = $message;` `` `` `}` `` `` `if (!empty($list)) {` `` `` `$output .= "` ``

\\n"; $output .= $list; $output .= "

`\n";` `}` `}` `return $output;` `}` Now, all you have to do is to create another function which will be hiding/modifying your status messages. Here is a function with examples of these changes: `/**` `* Modify/hide a message from user:` `*` `* @param string $message` `*/` `function modify_message(&$message) {` `//Add here whatever you need to recognize and modify this message:` `global $user;` `// Hide these messages:` `$message = preg_replace('/No posts in this group\./', '', $message);` `$message = preg_replace('/Fetching data from GeoNames failed.*/', '', $message);` `//If the administrator has removed _himself_, the message should instead of` `//"Username_ABC is no longer a group administrator." say:` `//"You are no longer an administrator for this group. To regain administrator privileges, please contact an administrator for this group."` `$current_name = $user->name;` `preg_match('/(.*) is no longer a\.*/', $message, $matches_A);` `//check if the current user is the same as the user in the message:` `if ($matches_A[1]) preg_match("/$current_name/", $matches_A[1], $matches_B);` `if ($matches_B[0]) $message = "You are no longer an administrator for this group. To regain administrator privileges, please contact an administrator for this group.";` `}`

Et, voila.

[![](https://cdn.sanity.io/images/ey850001/production/36eb314260fb474cacc1b3a473d7e8402d997898-68x68.png?w=68&auto=format) Appno Blogger Appnovation Coop · Appnovation](/people/appno-blogger.md) 

## Keep reading

[![What is Sovereign AI](https://cdn.sanity.io/images/ey850001/production/a5889abdd5e80376912546622e046e3fbef234b4-2496x1664.png?w=640&auto=format)](/insights/what-is-open-source-sovereign-ai.md)

 Article · 7 min AI 

### [What Is Open Source, Sovereign AI?](/insights/what-is-open-source-sovereign-ai.md)

Every company is encouraging more AI, and almost every AI bill is climbing. Sovereign AI is about two kinds of control: over your data and over your costs. Here's why open source sits at its foundation.

[Iain MacNeil](/people/iain-macneil.md) Article 

[![AI-first experience design](https://cdn.sanity.io/images/ey850001/production/8bbc2418e87924ef10f36115478a2e10d5bed95e-1584x624.jpg?w=640&auto=format)](/insights/how-build-ai-first-experience-without-throwing-out-everything-youve-already-built.md)

 Article · 6 min AI Sep 10, 2026 

### [How to Build an AI-First Experience Without Throwing Out Everything You've Already Built](/insights/how-build-ai-first-experience-without-throwing-out-everything-youve-already-built.md)

Users now expect a direct answer, not a list of links to click through. Here's how organizations can layer an AI-First experience onto their existing website or app, in weeks rather than years.

[Andrew Douglas](/people/andrew-douglas.md) Article 

[![What Becomes Possible When AI Can Read All the Data](https://cdn.sanity.io/images/ey850001/production/c28ab0bd26753421ee42937e13adc7a7f19b47f0-1296x510.jpg?w=640&auto=format)](/insights/what-becomes-possible-when-ai-can-read-all-data.md)

 Article · 4 min AI Sep 09, 2026 

### [What Becomes Possible When AI Can Read All the Data](/insights/what-becomes-possible-when-ai-can-read-all-data.md)

Most of the world's data has never been analyzed, only sampled. AI changes that. How AI-ready data platforms unlock questions no one could ask before.

[Appnovation](/people/appnovation.md) Article 

## Get the thinking,  
*before everyone else.*

One considered email a month. New essays, field notes from live engagements, and the occasional strong opinion. No noise.
