Whoops \ Exception \ ErrorException (E_WARNING)
Attempt to read property "ID" on array Whoops\Exception\ErrorException thrown with message "Attempt to read property "ID" on array" Stacktrace: #20 Whoops\Exception\ErrorException in /var/www/html/wp-content/plugins/wp-rest-yoast-meta/frontend/class-frontend.php:624 #19 Whoops\Run:handleError in /var/www/html/wp-content/plugins/wp-rest-yoast-meta/frontend/class-frontend.php:624 #18 WP_Rest_Yoast_Meta_Plugin\Frontend\Frontend:fix_frontend_presentation in /var/www/html/wp-includes/class-wp-hook.php:303 #17 WP_Hook:apply_filters in /var/www/html/wp-includes/plugin.php:189 #16 apply_filters in /var/www/html/wp-content/plugins/wordpress-seo/src/integrations/front-end-integration.php:309 #15 Yoast\WP\SEO\Integrations\Front_End_Integration:present_head in /var/www/html/wp-includes/class-wp-hook.php:303 #14 WP_Hook:apply_filters in /var/www/html/wp-includes/class-wp-hook.php:327 #13 WP_Hook:do_action in /var/www/html/wp-includes/plugin.php:470 #12 do_action in /var/www/html/wp-content/plugins/wordpress-seo/src/integrations/front-end-integration.php:291 #11 Yoast\WP\SEO\Integrations\Front_End_Integration:call_wpseo_head in /var/www/html/wp-includes/class-wp-hook.php:303 #10 WP_Hook:apply_filters in /var/www/html/wp-includes/class-wp-hook.php:327 #9 WP_Hook:do_action in /var/www/html/wp-includes/plugin.php:470 #8 do_action in /var/www/html/wp-includes/general-template.php:3015 #7 wp_head in /var/www/html/wp-content/themes/twentytwenty/header.php:23 #6 require_once in /var/www/html/wp-includes/template.php:770 #5 load_template in /var/www/html/wp-includes/template.php:716 #4 locate_template in /var/www/html/wp-includes/general-template.php:48 #3 get_header in /var/www/html/wp-content/themes/twentytwenty/index.php:17 #2 include in /var/www/html/wp-includes/template-loader.php:106 #1 require_once in /var/www/html/wp-blog-header.php:19 #0 require in /var/www/html/index.php:17
Stack frames (21)
20
Whoops
\
Exception
\
ErrorException
/
var
/
www
/
html
/
wp-content
/
plugins
/
wp-rest-yoast-meta
/
frontend
/
class-frontend.php
624
19
Whoops
\
Run
handleError
/
var
/
www
/
html
/
wp-content
/
plugins
/
wp-rest-yoast-meta
/
frontend
/
class-frontend.php
624
18
WP_Rest_Yoast_Meta_Plugin
\
Frontend
\
Frontend
fix_frontend_presentation
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
303
17
WP_Hook
apply_filters
/
var
/
www
/
html
/
wp-includes
/
plugin.php
189
16
apply_filters
/
var
/
www
/
html
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
integrations
/
front-end-integration.php
309
15
Yoast
\
WP
\
SEO
\
Integrations
\
Front_End_Integration
present_head
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
303
14
WP_Hook
apply_filters
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
327
13
WP_Hook
do_action
/
var
/
www
/
html
/
wp-includes
/
plugin.php
470
12
do_action
/
var
/
www
/
html
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
integrations
/
front-end-integration.php
291
11
Yoast
\
WP
\
SEO
\
Integrations
\
Front_End_Integration
call_wpseo_head
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
303
10
WP_Hook
apply_filters
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
327
9
WP_Hook
do_action
/
var
/
www
/
html
/
wp-includes
/
plugin.php
470
8
do_action
/
var
/
www
/
html
/
wp-includes
/
general-template.php
3015
7
wp_head
/
var
/
www
/
html
/
wp-content
/
themes
/
twentytwenty
/
header.php
23
6
require_once
/
var
/
www
/
html
/
wp-includes
/
template.php
770
5
load_template
/
var
/
www
/
html
/
wp-includes
/
template.php
716
4
locate_template
/
var
/
www
/
html
/
wp-includes
/
general-template.php
48
3
get_header
/
var
/
www
/
html
/
wp-content
/
themes
/
twentytwenty
/
index.php
17
2
include
/
var
/
www
/
html
/
wp-includes
/
template-loader.php
106
1
require_once
/
var
/
www
/
html
/
wp-blog-header.php
19
0
require
/
var
/
www
/
html
/
index.php
17
/
var
/
www
/
html
/
wp-content
/
plugins
/
wp-rest-yoast-meta
/
frontend
/
class-frontend.php
     * Override the query reset by Yoast SEO, since we want to do a query for the home page.
     */
    public function override_query_reset() {
        global $wp_query;
 
        $wp_query->is_home = true;
    }
 
    /**
     * The Front_End_Integration keeps using the first post for the filter_title function, fix it.
     *
     * @param \Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation $presentation Presentation object for indexables.
     * @param \Yoast\WP\SEO\Context\Meta_Tags_Context                      $context The meta tags context.
     *
     * @return \Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation
     */
    public function fix_frontend_presentation( $presentation, $context ) {
        global $post;
 
        if ( isset( $presentation->source ) && $presentation->source->ID !== $post->ID ) {
            unset( $presentation->model->title );
            $presentation->title   = $presentation->generate_title();
            $presentation->source  = $post;
            $context->presentation = $presentation;
            $presentation->title   = $context->generate_title();
        }
 
        return $presentation;
    }
}
 
Arguments
  1. "Attempt to read property "ID" on array"
    
/
var
/
www
/
html
/
wp-content
/
plugins
/
wp-rest-yoast-meta
/
frontend
/
class-frontend.php
     * Override the query reset by Yoast SEO, since we want to do a query for the home page.
     */
    public function override_query_reset() {
        global $wp_query;
 
        $wp_query->is_home = true;
    }
 
    /**
     * The Front_End_Integration keeps using the first post for the filter_title function, fix it.
     *
     * @param \Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation $presentation Presentation object for indexables.
     * @param \Yoast\WP\SEO\Context\Meta_Tags_Context                      $context The meta tags context.
     *
     * @return \Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation
     */
    public function fix_frontend_presentation( $presentation, $context ) {
        global $post;
 
        if ( isset( $presentation->source ) && $presentation->source->ID !== $post->ID ) {
            unset( $presentation->model->title );
            $presentation->title   = $presentation->generate_title();
            $presentation->source  = $post;
            $context->presentation = $presentation;
            $presentation->title   = $context->generate_title();
        }
 
        return $presentation;
    }
}
 
Arguments
  1. 2
    
  2. "Attempt to read property "ID" on array"
    
  3. "/var/www/html/wp-content/plugins/wp-rest-yoast-meta/frontend/class-frontend.php"
    
  4. 624
    
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $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, (int) $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.
Arguments
  1. Indexable_Home_Page_Presentation {}
    
  2. Meta_Tags_Context {}
    
/
var
/
www
/
html
/
wp-includes
/
plugin.php
        $wp_current_filter[] = $hook_name;
        _wp_call_all_hook( $args );
    }
 
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return $value;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    // Don't pass the tag name to WP_Hook.
    array_shift( $args );
 
    $filtered = $wp_filter[ $hook_name ]->apply_filters( $value, $args );
 
    array_pop( $wp_current_filter );
 
    return $filtered;
}
 
/**
 * Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
 *
 * @since 3.0.0
 *
 * @see apply_filters() 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 string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the filter hook.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
 * @return mixed The filtered value after all hooked functions are applied to it.
Arguments
  1. Indexable_Home_Page_Presentation {}
    
  2. array:2 [
      0 => Indexable_Home_Page_Presentation {}
      1 => Meta_Tags_Context {}
    ]
    
/
var
/
www
/
html
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
integrations
/
front-end-integration.php
 
        \do_action( 'wpseo_head' );
 
        // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Reason: we have to restore the query.
        $GLOBALS['wp_query'] = $old_wp_query;
    }
 
    /**
     * Echoes all applicable presenters for a page.
     */
    public function present_head() {
        $context    = $this->context_memoizer->for_current_page();
        $presenters = $this->get_presenters( $context->page_type, $context );
 
        /**
         * Filter 'wpseo_frontend_presentation' - Allow filtering the presentation used to output our meta values.
         *
         * @api Indexable_Presention The indexable presentation.
         */
        $presentation = \apply_filters( 'wpseo_frontend_presentation', $context->presentation, $context );
 
        echo \PHP_EOL;
        foreach ( $presenters as $presenter ) {
            $presenter->presentation = $presentation;
            $presenter->helpers      = $this->helpers;
            $presenter->replace_vars = $this->replace_vars;
 
            $output = $presenter->present();
            if ( ! empty( $output ) ) {
                // phpcs:ignore WordPress.Security.EscapeOutput -- Presenters are responsible for correctly escaping their output.
                echo "\t" . $output . \PHP_EOL;
            }
        }
        echo \PHP_EOL . \PHP_EOL;
    }
 
    /**
     * Returns all presenters for this page.
     *
     * @param string                 $page_type The page type.
Arguments
  1. "wpseo_frontend_presentation"
    
  2. Indexable_Home_Page_Presentation {}
    
  3. Meta_Tags_Context {}
    
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $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, (int) $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.
Arguments
  1. ""
    
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
        } 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 ] = array_keys( $this->callbacks );
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
Arguments
  1. ""
    
  2. array:1 [
      0 => ""
    ]
    
/
var
/
www
/
html
/
wp-includes
/
plugin.php
    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 ) {
Arguments
  1. array:1 [
      0 => ""
    ]
    
/
var
/
www
/
html
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
integrations
/
front-end-integration.php
        if ( $this->request->is_rest_request() ) {
            return $presenters;
        }
 
        return \array_diff( $presenters, [ 'Yoast\\WP\\SEO\\Presenters\\Robots_Presenter' ] );
    }
 
    /**
     * Presents the head in the front-end. Resets wp_query if it's not the main query.
     *
     * @codeCoverageIgnore It just calls a WordPress function.
     */
    public function call_wpseo_head() {
        global $wp_query;
 
        $old_wp_query = $wp_query;
        // phpcs:ignore WordPress.WP.DiscouragedFunctions.wp_reset_query_wp_reset_query -- Reason: The recommended function, wp_reset_postdata, doesn't reset wp_query.
        \wp_reset_query();
 
        \do_action( 'wpseo_head' );
 
        // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Reason: we have to restore the query.
        $GLOBALS['wp_query'] = $old_wp_query;
    }
 
    /**
     * Echoes all applicable presenters for a page.
     */
    public function present_head() {
        $context    = $this->context_memoizer->for_current_page();
        $presenters = $this->get_presenters( $context->page_type, $context );
 
        /**
         * Filter 'wpseo_frontend_presentation' - Allow filtering the presentation used to output our meta values.
         *
         * @api Indexable_Presention The indexable presentation.
         */
        $presentation = \apply_filters( 'wpseo_frontend_presentation', $context->presentation, $context );
 
        echo \PHP_EOL;
Arguments
  1. "wpseo_head"
    
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $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, (int) $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.
Arguments
  1. ""
    
/
var
/
www
/
html
/
wp-includes
/
class-wp-hook.php
        } 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 ] = array_keys( $this->callbacks );
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
Arguments
  1. null
    
  2. array:1 [
      0 => ""
    ]
    
/
var
/
www
/
html
/
wp-includes
/
plugin.php
    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 ) {
Arguments
  1. array:1 [
      0 => ""
    ]
    
/
var
/
www
/
html
/
wp-includes
/
general-template.php
     * @param string $before           The HTML to output before the date.
     * @param string $after            The HTML to output after the date.
     */
    echo apply_filters( 'the_weekday_date', $the_weekday_date, $before, $after );
}
 
/**
 * Fire the wp_head action.
 *
 * See {@see 'wp_head'}.
 *
 * @since 1.2.0
 */
function wp_head() {
    /**
     * Prints scripts or data in the head tag on the front end.
     *
     * @since 1.5.0
     */
    do_action( 'wp_head' );
}
 
/**
 * Fire the wp_footer action.
 *
 * See {@see 'wp_footer'}.
 *
 * @since 1.5.1
 */
function wp_footer() {
    /**
     * Prints scripts or data before the closing body tag on the front end.
     *
     * @since 1.5.1
     */
    do_action( 'wp_footer' );
}
 
/**
 * Fire the wp_body_open action.
Arguments
  1. "wp_head"
    
/
var
/
www
/
html
/
wp-content
/
themes
/
twentytwenty
/
header.php
 *
 * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
 *
 * @package WordPress
 * @subpackage Twenty_Twenty
 * @since Twenty Twenty 1.0
 */
 
?><!DOCTYPE html>
 
<html class="no-js" <?php language_attributes(); ?>>
 
    <head>
 
        <meta charset="<?php bloginfo( 'charset' ); ?>">
        <meta name="viewport" content="width=device-width, initial-scale=1.0" >
 
        <link rel="profile" href="https://gmpg.org/xfn/11">
 
        <?php wp_head(); ?>
 
    </head>
 
    <body <?php body_class(); ?>>
 
        <?php
        wp_body_open();
        ?>
 
        <header id="site-header" class="header-footer-group" role="banner">
 
            <div class="header-inner section-inner">
 
                <div class="header-titles-wrapper">
 
                    <?php
 
                    // Check whether the header search is activated in the customizer.
                    $enable_header_search = get_theme_mod( 'enable_header_search', true );
 
/
var
/
www
/
html
/
wp-includes
/
template.php
 
    if ( is_array( $wp_query->query_vars ) ) {
        /*
         * This use of extract() cannot be removed. There are many possible ways that
         * templates could depend on variables that it creates existing, and no way to
         * detect and deprecate it.
         *
         * Passing the EXTR_SKIP flag is the safest option, ensuring globals and
         * function variables cannot be overwritten.
         */
        // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
        extract( $wp_query->query_vars, EXTR_SKIP );
    }
 
    if ( isset( $s ) ) {
        $s = esc_attr( $s );
    }
 
    if ( $require_once ) {
        require_once $_template_file;
    } else {
        require $_template_file;
    }
}
 
Arguments
  1. "/var/www/html/wp-content/themes/twentytwenty/header.php"
    
/
var
/
www
/
html
/
wp-includes
/
template.php
function locate_template( $template_names, $load = false, $require_once = true, $args = array() ) {
    $located = '';
    foreach ( (array) $template_names as $template_name ) {
        if ( ! $template_name ) {
            continue;
        }
        if ( file_exists( STYLESHEETPATH . '/' . $template_name ) ) {
            $located = STYLESHEETPATH . '/' . $template_name;
            break;
        } elseif ( file_exists( TEMPLATEPATH . '/' . $template_name ) ) {
            $located = TEMPLATEPATH . '/' . $template_name;
            break;
        } elseif ( file_exists( ABSPATH . WPINC . '/theme-compat/' . $template_name ) ) {
            $located = ABSPATH . WPINC . '/theme-compat/' . $template_name;
            break;
        }
    }
 
    if ( $load && '' !== $located ) {
        load_template( $located, $require_once, $args );
    }
 
    return $located;
}
 
/**
 * Require the template file with WordPress environment.
 *
 * The globals are set up for the template file to ensure that the WordPress
 * environment is available from within the function. The query variables are
 * also available.
 *
 * @since 1.5.0
 * @since 5.5.0 The `$args` parameter was added.
 *
 * @global array      $posts
 * @global WP_Post    $post          Global post object.
 * @global bool       $wp_did_header
 * @global WP_Query   $wp_query      WordPress Query object.
 * @global WP_Rewrite $wp_rewrite    WordPress rewrite component.
Arguments
  1. "/var/www/html/wp-content/themes/twentytwenty/header.php"
    
  2. true
    
  3. []
    
/
var
/
www
/
html
/
wp-includes
/
general-template.php
     * Fires before the header template file is loaded.
     *
     * @since 2.1.0
     * @since 2.8.0 The `$name` parameter was added.
     * @since 5.5.0 The `$args` parameter was added.
     *
     * @param string|null $name Name of the specific header file to use. Null for the default header.
     * @param array       $args Additional arguments passed to the header template.
     */
    do_action( 'get_header', $name, $args );
 
    $templates = array();
    $name      = (string) $name;
    if ( '' !== $name ) {
        $templates[] = "header-{$name}.php";
    }
 
    $templates[] = 'header.php';
 
    if ( ! locate_template( $templates, true, true, $args ) ) {
        return false;
    }
}
 
/**
 * Load footer template.
 *
 * Includes the footer template for a theme or if a name is specified then a
 * specialised footer will be included.
 *
 * For the parameter, if the file is called "footer-special.php" then specify
 * "special".
 *
 * @since 1.5.0
 * @since 5.5.0 A return value was added.
 * @since 5.5.0 The `$args` parameter was added.
 *
 * @param string $name The name of the specialised footer.
 * @param array  $args Optional. Additional arguments passed to the footer template.
 *                     Default empty array.
Arguments
  1. array:1 [
      0 => "header.php"
    ]
    
  2. true
    
  3. true
    
  4. []
    
/
var
/
www
/
html
/
wp-content
/
themes
/
twentytwenty
/
index.php
<?php
/**
 * The main template file
 *
 * This is the most generic template file in a WordPress theme
 * and one of the two required files for a theme (the other being style.css).
 * It is used to display a page when nothing more specific matches a query.
 * E.g., it puts together the home page when no home.php file exists.
 *
 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
 *
 * @package WordPress
 * @subpackage Twenty_Twenty
 * @since Twenty Twenty 1.0
 */
 
get_header();
?>
 
<main id="site-content" role="main">
 
    <?php
 
    $archive_title    = '';
    $archive_subtitle = '';
 
    if ( is_search() ) {
        global $wp_query;
 
        $archive_title = sprintf(
            '%1$s %2$s',
            '<span class="color-accent">' . __( 'Search:', 'twentytwenty' ) . '</span>',
            '&ldquo;' . get_search_query() . '&rdquo;'
        );
 
        if ( $wp_query->found_posts ) {
            $archive_subtitle = sprintf(
                /* translators: %s: Number of search results. */
                _n(
                    'We found %s result for your search.',
/
var
/
www
/
html
/
wp-includes
/
template-loader.php
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
Arguments
  1. "/var/www/html/wp-content/themes/twentytwenty/index.php"
    
/
var
/
www
/
html
/
wp-blog-header.php
<?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';
 
}
 
Arguments
  1. "/var/www/html/wp-includes/template-loader.php"
    
/
var
/
www
/
html
/
index.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';
 
Arguments
  1. "/var/www/html/wp-blog-header.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"Apache/2.4.51 (Debian)"
REQUEST_URI
"/"
HTTP_AUTHORIZATION
""
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_PORT
"443"
HTTP_HOST
"cms.medicalmeditation.ca"
HTTP_X_AMZN_TRACE_ID
"Root=1-61a68b41-18bec4950d5337270f64f7f9"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_ACCEPT_ENCODING
"br,gzip"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.51 (Debian) Server at cms.medicalmeditation.ca Port 80</address>\n"
SERVER_NAME
"cms.medicalmeditation.ca"
SERVER_ADDR
"172.17.0.6"
SERVER_PORT
"80"
REMOTE_ADDR
"54.144.55.253"
DOCUMENT_ROOT
"/var/www/html"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html"
SERVER_ADMIN
"webmaster@localhost"
SCRIPT_FILENAME
"/var/www/html/index.php"
REMOTE_PORT
"58012"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1638304577.2073
REQUEST_TIME
1638304577
argv
[]
argc
0
HTTPS
"on"
Key Value
AWS_EXECUTION_ENV
"AWS_ECS_EC2"
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
"/v2/credentials/f81deb14-02e5-4710-bffe-5999aef7649e"
HOSTNAME
"db1ecc6020d6"
PHP_VERSION
"8.0.13"
APACHE_CONFDIR
"/etc/apache2"
PHP_INI_DIR
"/usr/local/etc/php"
GPG_KEYS
"1729F83938DA44E27BA0F4D3DBDB397470D12172 BFDDD28642824F8118EF77909B67A5C12229118F"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PWD
"/var/www/html"
ECS_CONTAINER_METADATA_URI_V4
"http://169.254.170.2/v4/c6d53f01-1a65-4bc2-a2e2-e94114cbc461"
WP_SITEURL
"https://cms.medicalmeditation.ca"
LINK_WP_UPLOADS_TO_DIR
"/data/uploads"
DB_PORT
"3306"
APACHE_LOG_DIR
"/var/log/apache2"
LANG
"C"
WP_HOME
"https://cms.medicalmeditation.ca"
PHP_SHA256
"cd976805ec2e9198417651027dfe16854ba2c2c388151ab9d4d268513d52ed52"
APACHE_PID_FILE
"/var/run/apache2/apache2.pid"
WORDPRESS_DB_HOST
"cdu6j8mtlffha0.ce81unmnoy27.us-east-1.rds.amazonaws.com:3306"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
DB_HOST
"cdu6j8mtlffha0.ce81unmnoy27.us-east-1.rds.amazonaws.com"
PHP_URL
"https://www.php.net/distributions/php-8.0.13.tar.xz"
APACHE_RUN_GROUP
"www-data"
ECS_CONTAINER_METADATA_URI
"http://169.254.170.2/v3/c6d53f01-1a65-4bc2-a2e2-e94114cbc461"
APACHE_LOCK_DIR
"/var/lock/apache2"
SHLVL
"0"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
WORDPRESS_DB_PASSWORD
"4TwiGookAwf("
APACHE_RUN_DIR
"/var/run/apache2"
APACHE_ENVVARS
"/etc/apache2/envvars"
APACHE_RUN_USER
"www-data"
WORDPRESS_DB_USER
"admin"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
WORDPRESS_DB_NAME
"wordpress"
WP_ENVIRONMENT
"production"
PHP_ASC_URL
"https://www.php.net/distributions/php-8.0.13.tar.xz.asc"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
0. Whoops\Handler\PrettyPageHandler