Back to Main Site

Hook: post.frontend_url

Last updated on Jun 24, 2026 01:41

Overview

Type: Filter Location: app/Models/Post.php

Filters the public-facing URL of a post. Called every time $post->frontend_url is accessed. Useful for themes that need custom URL structures such as wiki-style /docs/slug instead of /posts/slug.

Parameters

Param Type Description
$url string Default generated URL
$post Post Post model instance

Return

Must return string - the final public URL.

Usage Example

Redirect wiki-type posts to a /docs/ prefix:

Hook::addFilter('post.frontend_url', function (string $url, $post) {
    if ($post->type === 'wiki') {
        return '/docs/' . $post->slug;
    }
    return $url;
});

Related Hooks

category.frontend_url - Customize category URL

theme.view.data - Inject data into theme views


PolyCMS is an open-source content management system for modern web applications, inspired by the WordPress plugin and theme ecosystem but built on top of the Laravel framework. It is designed to provide a complete foundation for content publishing, e-commerce, multi-language support, and extensible module architecture — powered by a Vue 3 admin panel with data served entirely through RESTful APIs.

Whether you're building a blog, a documentation site, an online store, or a multi-tenant SaaS platform, PolyCMS aims to give you a comprehensive starting scaffold so you can ship quickly and extend easily through integrated modules and themes. In particular, themes in PolyCMS follow a multi-theme architecture — one Main theme and an unlimited number of Sub themes can run side by side on the same installation.

We hope this ready-made foundation proves useful for building your next website, blog, or web app, saving you from having to start completely from scratch.