➕ Add `laravel/pint` to the project ➖ Remove `squizlabs/php_codesniffer` from the project 🔧 Remove deprecated Composer scripts 👷 Replace phpcs with Pint 🎨 Run Pint --------- Co-authored-by: Ben Word <ben@benword.com>
85 lines
1.7 KiB
PHP
85 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\View\Composers;
|
|
|
|
use Roots\Acorn\View\Composer;
|
|
|
|
class Post extends Composer
|
|
{
|
|
/**
|
|
* List of views served by this composer.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected static $views = [
|
|
'partials.page-header',
|
|
'partials.content',
|
|
'partials.content-*',
|
|
];
|
|
|
|
/**
|
|
* Data to be passed to view before rendering, but after merging.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function override()
|
|
{
|
|
return [
|
|
'title' => $this->title(),
|
|
'pagination' => $this->pagination(),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Retrieve the post title.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function title()
|
|
{
|
|
if ($this->view->name() !== 'partials.page-header') {
|
|
return get_the_title();
|
|
}
|
|
|
|
if (is_home()) {
|
|
if ($home = get_option('page_for_posts', true)) {
|
|
return get_the_title($home);
|
|
}
|
|
|
|
return __('Latest Posts', 'sage');
|
|
}
|
|
|
|
if (is_archive()) {
|
|
return get_the_archive_title();
|
|
}
|
|
|
|
if (is_search()) {
|
|
return sprintf(
|
|
/* translators: %s is replaced with the search query */
|
|
__('Search Results for %s', 'sage'),
|
|
get_search_query()
|
|
);
|
|
}
|
|
|
|
if (is_404()) {
|
|
return __('Not Found', 'sage');
|
|
}
|
|
|
|
return get_the_title();
|
|
}
|
|
|
|
/**
|
|
* Retrieve the pagination links.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function pagination()
|
|
{
|
|
return wp_link_pages([
|
|
'echo' => 0,
|
|
'before' => '<p>'.__('Pages:', 'sage'),
|
|
'after' => '</p>',
|
|
]);
|
|
}
|
|
}
|