PHP code example of pedroborges / kirby-meta-tags
1. Go to this page and download the library: Download pedroborges/kirby-meta-tags library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
pedroborges / kirby-meta-tags example snippets
echo $page->metaTags('title')
echo $page->metaTags(['og', 'twitter', 'json-ld'])
return [
// other options...
'pedroborges.meta-tags.default' => function ($page, $site) {
return [
'title' => $site->title(),
'meta' => [
'description' => $site->description()
],
'link' => [
'canonical' => $page->url()
],
'og' => [
'title' => $page->isHomePage()
? $site->title()
: $page->title(),
'type' => 'website',
'site_name' => $site->title(),
'url' => $page->url()
]
];
}
]
return [
// other options...
'pedroborges.meta-tags.templates' => function ($page, $site) {
return [
'song' => [
'og' => [
'type' => 'music.song',
'namespace:music' => [
'duration' => $page->duration(),
'album' => $page->parent()->url(),
'musician' => $page->singer()->html()
]
]
]
];
}
]
'pedroborges.meta-tags.default' => function ($page, $site) {
return [
'title' => 'Site Name',
'meta' => [ /* meta tags */ ],
'link' => [ /* link tags */ ],
'og' => [ /* Open Graph tags */ ],
'twitter' => [ /* Twitter Card tags */ ],
'json-ld' => [ /* JSON-LD schema */ ],
];
}
'pedroborges.meta-tags.templates' => function ($page, $site) {
return [
'article' => [ /* tags groups */ ],
'about' => [ /* tags groups */ ],
'products' => [ /* tags groups */ ],
];
}
'title' => $page->isHomePage()
? $site->title()
: $page->title(),
'meta' => [
'description' => $site->description(),
'robots' => 'index,follow,noodp'
],
'link' => [
'stylesheet' => url('assets/css/main.css'),
'icon' => [
['href' => url('assets/images/icons/favicon-62.png'), 'sizes' => '62x62', 'type' =>'image/png'],
['href' => url('assets/images/icons/favicon-192.png'), 'sizes' => '192x192', 'type' =>'image/png']
],
'canonical' => $page->url(),
'alternate' => function ($page) {
$locales = [];
foreach (kirby()->languages() as $language) {
if ($language->code() == kirby()->language()) continue;
$locales[] = [
'hreflang' => $language->code(),
'href' => $page->url($language->code())
];
}
return $locales;
}
],
'og' => [
'title' => $page->title(),
'type' => 'website',
'site_name' => $site->title(),
'url' => $page->url()
],
'pedroborges.meta-tags.templates' => function ($page, $site) {
return [
'article' => [ // template name
'og' => [ // tags group name
'type' => 'article', // overrides the default
'namespace:article' => [
'author' => $page->author(),
'published_time' => $page->date('Y-m-d'),
'modified_time' => $page->modified('Y-m-d'),
'tag' => ['tech', 'web']
],
'namespace:image' => function(Page $page) {
$image = $page->cover()->toFile();
return [
'image' => $image->url(),
'height' => $image->height(),
'width' => $image->width(),
'type' => $image->mime()
];
}
]
]
];
}
'twitter' => [
'card' => 'summary',
'site' => $site->twitter(),
'title' => $page->title(),
'namespace:image' => function ($page) {
$image = $page->cover()->toFile();
return [
'image' => $image->url(),
'alt' => $image->alt()
];
}
]
'json-ld' => [
'Organization' => [
'name' => $site->title()->value(),
'url' => $site->url(),
"contactPoint" => [
'@type' => 'ContactPoint',
'telephone' => $site->phoneNumber()->value(),
'contactType' => 'customer service'
]
]
]