| Install | |
|---|---|
composer require gornymedia/laravel-shortcodes |
Laravel Shortcodes Package
| 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 |
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"
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]
To render the view and compile the Shortcodes:
return view('view')->compileShortcodes();
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'
];
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 me with any amount and help me develop.