gornymedia/laravel-shortcodes

Laravel shortcodes package

v1.5 2025-05-29 09:13 UTC

This package is not auto-updated.

Last update: 2025-05-29 09:19:48 UTC


README

Laravel Shortcodes Package

Laravel compatibility

Laravel Shortcodes
12.x 1.5
11.x 1.5
10.x 1.4
9.x 1.4
8.x 1.4
7.x 1.4
6.x 1.4
5.8.x 1.3
5.5.x 1.2
5.4.x 1.1
5.3.x 1.1
5.2.x 1.1
5.1.x 1.0
5.0.x 1.0

Installation

Require this package with Composer

composer require gornymedia/laravel-shortcodes 1.5

Add the service provider to bootstrap/providers.php

Gornymedia\Shortcodes\ShortcodesServiceProvider::class,

To use the facades, add this within the register method of app/Providers/AppServiceProvider

$loader = \Illuminate\Foundation\AliasLoader::getInstance();
$loader->alias('Shortcode', \Gornymedia\Shortcodes\Facades\Shortcode::class);

Copy the package config to your local config with the publish command

php artisan vendor:publish --provider="Gornymedia\Shortcodes\ShortcodesServiceProvider"

Usage

Creating shortcodes

Inside an app/Providers/AppServiceProvider boot function you can create the shortcodes with attributes.

use Gornymedia\Shortcodes\Facades\Shortcode;

Shortcode::add('example', function($atts, $content, $name)
{
  $a = Shortcode::atts([
    'name' => $name,
    'foo' => 'something',
    ], $atts);
    
  return "foo = {$a['foo']}";
});

Usage : [example foo="something else"]

Include partial files in shortcode

use Gornymedia\Shortcodes\Facades\Shortcode;

Shortcode::add('widget', function($atts, $content, $name) 
{
  $a = Shortcode::atts([
    'name' => $name,
    'foo' => 'something'
  ], $atts);
  
  $file = 'partials/' . $a['name'] ; // ex: resource/views/partials/ $atts['name'] .blade.php
 
  if (view()->exists($file)) {
    return view($file, $a);
  }
});

Usage : [widget name="maps"]

Compile shortcodes inside shortcode content

use Gornymedia\Shortcodes\Facades\Shortcode;

Shortcode::add('strong', function($atts, $content, $name) {
 $content = Shortcode::compile($content);
 
 return "<strong>$content</strong>";
});

Usage: [strong][example][/strong]

View rendering

compileShortcodes()

To render the view and compile the Shortcodes:

return view('view')->compileShortcodes();

stripShortcodes()

To render the view and remove the Shortcodes

return view('view')->stripShortcodes();

In the config/gornymedia-laravel-shortcodes.php file you can set the default mode (null, compile or strip).

The following example will compile shortcodes without using the compileShortcodes() method

return [
    'mode' => 'compile'
];

License

This package is open-source software licensed under MIT License.

This package uses WordPress shortcodes methods. The license under which the WordPress software is released is the GPLv2 (or later).

Support

Support me with any amount and help me develop.