---
title: "User function menu (For backward compatibility)"
manual: "TypoScript Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3tsref:hmenu-special-userfunction-examples@main"
source: "DataProcessing/MenuProcessor/Userfunction.rst"
rendered: "2026-09-19T06:55:14+00:00"
---

# User function menu (For backward compatibility) {#hmenu-special-userfunction-examples}

> [!IMPORTANT]
> <!-- TODO: no Markdown rendering for "versionchanged" -->
>
> PHP functions called via TypoScript must now use the PHP
> attribute #[AsAllowedCallable]
> (\TYPO3\CMS\Core\Attribute\AsAllowedCallable).

> [!WARNING]
> **Attention**
>
> It is still possible to create a menu with `special = userfunction`
> for backward compatibility reasons.
>
> However we would advise you to write a [customized MenuProcessor](https://docs.typo3.org/permalink/t3tsref:customdataprocessors@main)
> and style the output with Fluid instead.

See [TYPO3 11.5 -Userfunction menu](https://docs.typo3.org/m/typo3/reference-typoscript/11.5/en-us/ContentObjects/Hmenu/Userfunction.html#hmenu-special-userfunction)
for examples how to use the language menu with the HMENU.
