To enable the Hide by Status feature in your WHMCS client area, edit three core template files to display the required HTML forms. Replace the standard {$services}, {$domains}, and {$invoices} variables with their {$services2}, {$domains2}, and {$invoices2} equivalents respectively. Then insert the corresponding form markup at the desired location in each file, typically at the bottom to preserve your existing layout. This change wires up the controls that let clients hide items by status.

The Hide by Status forms give clients the ability to reduce clutter in their services, domains, and invoices lists by filtering out entries matching selected statuses. This matters for accounts with long histories or many cancelled items. The original instructions must be followed exactly; ASPnix is not responsible for improper template editing and cannot adapt the code to your specific design. Contact a web developer for custom modifications if needed.

#Prerequisites

  • Administrative access to edit files in your active WHMCS template directory
  • Current backup copies of clientareaproducts.tpl, clientareadomains.tpl, and clientareainvoices.tpl
  • The Hide by Status module installed and active in your WHMCS instance
  • Familiarity with Smarty template syntax used throughout WHMCS

#Updating Products & Services Template

Navigate to the clientareaproducts.tpl file within your WHMCS templates folder. Locate every reference to the {$services} variable that controls the output of the services table or list. Change each occurrence to {$services2}. The updated variable supplies the additional data and logic required for per-status hiding controls without altering the core display behavior.

After the variable replacement, add the form code where you want the hide interface to appear. We recommend placing it at the very bottom of the file so it does not interfere with the primary content layout. Use the exact markup below.

html
## {$LANG.hide_by_status_hideservicestitle}

#Updating Domains Template

Open clientareadomains.tpl in your template directory. Find the {$domains} variable responsible for rendering the domain list and replace it with {$domains2}. This substitution activates the extended dataset that includes status-based hide options for domains.

Insert the form code at the location of your choice, preferably appended to the end of the file. The provided snippet supplies the title that precedes the actual form fields.

html
## {$LANG.hide_by_status_hidedomainstitle}

#Updating Invoices Template

Edit the clientareainvoices.tpl file and change all instances of the {$invoices} variable to {$invoices2}. This update links the invoice listing to the hide-by-status functionality so clients can suppress invoices matching chosen statuses.

Add the corresponding form code at the bottom of the template or in the preferred display position. The LANG variable provides the section heading for the hide controls.

html
## {$LANG.hide_by_status_hideinvoicestitle}

#Common Pitfalls and Troubleshooting

Mismatched Smarty tags after variable replacement can produce blank pages or PHP errors; always double-check syntax. If the forms fail to appear, confirm the LANG variables exist in your language file and that template caching has been cleared via the WHMCS admin area. Test each client-area page separately after edits. Placing code too high in the file may duplicate or break existing tables.

After completing the changes, log in as a test client and verify that hide controls now display for services, domains, and invoices. Confirm that selecting statuses correctly filters the lists. These modifications improve client-area usability for long-term accounts. For additional language customizations or advanced layout adjustments, review your WHMCS template documentation or consult a developer.