Error
Class "Gantry\Component\Assignments\AbstractAssignments" not found Error thrown with message "Class "Gantry\Component\Assignments\AbstractAssignments" not found" Stacktrace: #9 Error in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-content/plugins/gantry5/src/classes/Gantry/Framework/Assignments.php:21 #8 include in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-content/plugins/ninja-forms/vendor/composer/ClassLoader.php:576 #7 Composer\Autoload\{closure} in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-content/plugins/ninja-forms/vendor/composer/ClassLoader.php:427 #6 Composer\Autoload\ClassLoader:loadClass in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-content/plugins/gantry5/src/classes/Gantry/Framework/Theme.php:158 #5 Gantry\Framework\Theme:set_template_layout in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/class-wp-hook.php:324 #4 WP_Hook:apply_filters in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/class-wp-hook.php:348 #3 WP_Hook:do_action in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/plugin.php:517 #2 do_action in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/template-loader.php:13 #1 require_once in /home/klapscowds/domains/tsckardinge.nl/public_html/wp-blog-header.php:19 #0 require in /home/klapscowds/domains/tsckardinge.nl/public_html/index.php:17
Stack frames (10)
9
Error
/src/classes/Gantry/Framework/Assignments.php21
8
include
/home/klapscowds/domains/tsckardinge.nl/public_html/wp-content/plugins/ninja-forms/vendor/composer/ClassLoader.php576
7
Composer\Autoload\{closure}
/home/klapscowds/domains/tsckardinge.nl/public_html/wp-content/plugins/ninja-forms/vendor/composer/ClassLoader.php427
6
Composer\Autoload\ClassLoader loadClass
/src/classes/Gantry/Framework/Theme.php158
5
Gantry\Framework\Theme set_template_layout
/home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/class-wp-hook.php324
4
WP_Hook apply_filters
/home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/class-wp-hook.php348
3
WP_Hook do_action
/home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/plugin.php517
2
do_action
/home/klapscowds/domains/tsckardinge.nl/public_html/wp-includes/template-loader.php13
1
require_once
/home/klapscowds/domains/tsckardinge.nl/public_html/wp-blog-header.php19
0
require
/home/klapscowds/domains/tsckardinge.nl/public_html/index.php17
 
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2021 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
 
namespace Gantry\Framework;
 
use Gantry\Component\Assignments\AbstractAssignments;
use RocketTheme\Toolbox\Event\Event;
 
/**
 * Class Assignments
 * @package Gantry\Framework
 */
class Assignments extends AbstractAssignments
{
    /** @var string */
    protected $platform = 'WordPress';
 
    /**
     * Assignments constructor.
     * @param string|null $configuration
     */
    public function __construct($configuration = null)
    {
        parent::__construct($configuration);
 
        // Deal with special language assignments.
        $this->specialFilterMethod = function($candidate, $match, $page) {
            if (!empty($candidate['language']) && !empty($page['language'])) {
                // Always drop candidate if language does not match.
                if (empty($match['language'])) {
                    return false;
                }
 
 
    /**
     * @return void
     */
    private static function initializeIncludeClosure()
    {
        if (self::$includeFile !== null) {
            return;
        }
 
        /**
         * Scope isolated include.
         *
         * Prevents access to $this/self from included files.
         *
         * @param  string $file
         * @return void
         */
        self::$includeFile = \Closure::bind(static function($file) {
            include $file;
        }, null, null);
    }
}
 
    public function unregister()
    {
        spl_autoload_unregister(array($this, 'loadClass'));
 
        if (null !== $this->vendorDir) {
            unset(self::$registeredLoaders[$this->vendorDir]);
        }
    }
 
    /**
     * Loads the given class or interface.
     *
     * @param  string    $class The name of the class
     * @return true|null True if loaded, null otherwise
     */
    public function loadClass($class)
    {
        if ($file = $this->findFile($class)) {
            $includeFile = self::$includeFile;
            $includeFile($file);
 
            return true;
        }
 
        return null;
    }
 
    /**
     * Finds the path to the file where the class is defined.
     *
     * @param string $class The name of the class
     *
     * @return string|false The path if found, false otherwise
     */
    public function findFile($class)
    {
        // class map lookup
        if (isset($this->classMap[$class])) {
            return $this->classMap[$class];
        }
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
        static $timberContext;
 
        if (!isset($timberContext)) {
            $timberContext = Timber::get_context();
        }
 
        // Include Gantry specific things to the context.
        $context = array_replace($timberContext, $context);
 
        return $this->renderer()->render($file, $context);
    }
 
    public function set_template_layout()
    {
        $assignments = new Assignments();
        $selected = $assignments->select();
 
        if (\GANTRY_DEBUGGER) {
            Debugger::addMessage('Selecting outline (rules, matches, scores):', 'debug');
            Debugger::addMessage($assignments->getPage(), 'debug');
            Debugger::addMessage($assignments->matches(), 'debug');
            Debugger::addMessage($assignments->scores(), 'debug');
        }
 
        $this->setLayout($selected);
    }
 
    public function widgets_init()
    {
        $gantry = Gantry::instance();
 
        /** @var Outlines $outlines */
        $outlines = $gantry['outlines'];
 
        // Positions are set inside layouts and we need to grab all of them as we do not yet know which layout will be
 
        $this->iterations[ $nesting_level ] = $this->priorities;
 
        $num_args = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
 
            $priority = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 === $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        --$this->nesting_level;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        --$this->nesting_level;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
     */
    public function do_action( $args ) {
        $this->doing_action = true;
        $this->apply_filters( '', $args );
 
        // If there are recursive calls to the current action, we haven't finished it until we get to the last one.
        if ( ! $this->nesting_level ) {
            $this->doing_action = false;
        }
    }
 
    /**
     * Processes the functions hooked into the 'all' hook.
     *
     * @since 4.7.0
     *
     * @param array $args Arguments to pass to the hook callbacks. Passed by reference.
     */
    public function do_all_hook( &$args ) {
        $nesting_level                      = $this->nesting_level++;
        $this->iterations[ $nesting_level ] = $this->priorities;
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    if ( empty( $arg ) ) {
        $arg[] = '';
    } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
        // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
        $arg[0] = $arg[0][0];
    }
 
    $wp_filter[ $hook_name ]->do_action( $arg );
 
    array_pop( $wp_current_filter );
}
 
/**
 * Calls the callback functions that have been added to an action hook, specifying arguments in an array.
 *
 * @since 2.1.0
 *
 * @see do_action() This function is identical, but the arguments passed to the
 *                  functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_actions        Stores the number of times each action was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the action to be executed.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
 */
function do_action_ref_array( $hook_name, $args ) {
<?php
/**
 * Loads the correct template based on the visitor's url
 *
 * @package WordPress
 */
if ( wp_using_themes() ) {
    /**
     * Fires before determining which template to load.
     *
     * @since 1.5.0
     */
    do_action( 'template_redirect' );
}
 
/**
 * Filters whether to allow 'HEAD' requests to generate content.
 *
 * Provides a significant performance bump by exiting before the page
 * content loads for 'HEAD' requests. See #14348.
 *
 * @since 3.5.0
 *
 * @param bool $exit Whether to exit without generating any content for 'HEAD' requests. Default true.
 */
if ( 'HEAD' === $_SERVER['REQUEST_METHOD'] && apply_filters( 'exit_on_http_head', true ) ) {
    exit;
}
 
// Process feeds and trackbacks even if not using themes.
if ( is_robots() ) {
    /**
     * Fired when the template loader determines a robots.txt request.
     *
     * @since 2.1.0
     */
    do_action( 'do_robots' );
    return;
} elseif ( is_favicon() ) {
    /**
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 

Environment & details:

Key Value
p 12990
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE Apache/2
REQUEST_URI /?p=12990
PATH /usr/local/bin:/usr/bin:/bin
TEMP /tmp
TMP /tmp
TMPDIR /tmp
PWD /
HTTP_ACCEPT */*
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
CONTENT_LENGTH 0
HTTP_HOST tsckardinge.nl
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
UNIQUE_ID ZwK_6oFEONBdFEZhKY7DjQAAjxA
HTTP_AUTHORIZATION
HTTPS on
SSL_TLS_SNI tsckardinge.nl
HTTP2 on
H2PUSH off
H2_PUSH off
H2_PUSHED
H2_PUSHED_ON
H2_STREAM_ID 1
H2_STREAM_TAG 143-1
SERVER_SIGNATURE
SERVER_NAME tsckardinge.nl
SERVER_ADDR 37.97.198.16
SERVER_PORT 443
REMOTE_ADDR 3.144.35.122
DOCUMENT_ROOT /home/klapscowds/domains/tsckardinge.nl/private_html
REQUEST_SCHEME https
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT /home/klapscowds/domains/tsckardinge.nl/private_html
SERVER_ADMIN webmaster@tsckardinge.nl
SCRIPT_FILENAME /home/klapscowds/domains/tsckardinge.nl/private_html/index.php
REMOTE_PORT 8847
SERVER_PROTOCOL HTTP/2.0
REQUEST_METHOD GET
QUERY_STRING p=12990
SCRIPT_NAME /index.php
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1728233451.0358
REQUEST_TIME 1728233451
empty
0. Whoops\Handler\PrettyPageHandler