HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux mail.btech-izolacje.pl 5.15.0-140-generic #150-Ubuntu SMP Sat Apr 12 06:00:09 UTC 2025 x86_64
User: pewna6876 (1017)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: /home/pewnabryka.pl/public_html/wp-content/plugins/vehica-core/app/Managers/PostArchiveManager.php
<?php

namespace Vehica\Managers;

if (!defined('ABSPATH')) {
    exit;
}

use Vehica\Core\Manager;
use Vehica\Model\Post\Page;
use WP_Query;

/**
 * Class PostArchiveManager
 * @package Vehica\Managers
 */
class PostArchiveManager extends Manager
{

    public function boot()
    {
        add_action('pre_get_posts', [$this, 'preparePosts']);
        add_action('template_redirect', [$this, 'checkBlog']);
    }

    public function checkBlog()
    {
        if (!is_home()) {
            return;
        }

        $role = get_query_var('author_role');
        if (empty($role)) {
            return;
        }

        $blog = vehicaApp('blog_page');
        if (!$blog instanceof Page) {
            return;
        }

        wp_redirect($blog->getUrl());
        exit;
    }

    /**
     * @param WP_Query $query
     */
    public function preparePosts($query)
    {
        if (!$query->is_main_query() || !$query->is_archive() || is_admin()) {
            return;
        }

        $query->set('posts_per_page', 20);
    }

}