Whoops \ Exception \ ErrorException (E_NOTICE)
Undefined property: WP_Post_Type::$term_id Whoops\Exception\ErrorException thrown with message "Undefined property: WP_Post_Type::$term_id" Stacktrace: #11 Whoops\Exception\ErrorException in /nas/content/live/comsol/wp-includes/taxonomy.php:1660 #10 Whoops\Run:handleError in /nas/content/live/comsol/wp-includes/taxonomy.php:1660 #9 sanitize_term in /nas/content/live/comsol/wp-includes/taxonomy.php:944 #8 get_term in /nas/content/live/comsol/wp-includes/rest-api.php:3183 #7 rest_get_route_for_term in /nas/content/live/comsol/wp-includes/rest-api.php:3251 #6 rest_get_queried_resource_route in /nas/content/live/comsol/wp-includes/rest-api.php:1030 #5 rest_output_link_header in /nas/content/live/comsol/wp-includes/class-wp-hook.php:308 #4 WP_Hook:apply_filters in /nas/content/live/comsol/wp-includes/class-wp-hook.php:334 #3 WP_Hook:do_action in /nas/content/live/comsol/wp-includes/plugin.php:517 #2 do_action in /nas/content/live/comsol/wp-includes/template-loader.php:13 #1 require_once in /nas/content/live/comsol/wp-blog-header.php:19 #0 require in /nas/content/live/comsol/index.php:17
Stack frames (12)
11
Whoops
\
Exception
\
ErrorException
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
taxonomy.php
1660
10
Whoops
\
Run
handleError
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
taxonomy.php
1660
9
sanitize_term
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
taxonomy.php
944
8
get_term
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
rest-api.php
3183
7
rest_get_route_for_term
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
rest-api.php
3251
6
rest_get_queried_resource_route
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
rest-api.php
1030
5
rest_output_link_header
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
class-wp-hook.php
308
4
WP_Hook
apply_filters
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
class-wp-hook.php
334
3
WP_Hook
do_action
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
plugin.php
517
2
do_action
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
template-loader.php
13
1
require_once
/
nas
/
content
/
live
/
comsol
/
wp-blog-header.php
19
0
require
/
nas
/
content
/
live
/
comsol
/
index.php
17
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
taxonomy.php
 * this function will sanitize **all** fields. The context is based
 * on sanitize_term_field().
 *
 * The `$term` is expected to be either an array or an object.
 *
 * @since 2.3.0
 *
 * @param array|object $term     The term to check.
 * @param string       $taxonomy The taxonomy name to use.
 * @param string       $context  Optional. Context in which to sanitize the term.
 *                               Accepts 'raw', 'edit', 'db', 'display', 'rss',
 *                               'attribute', or 'js'. Default 'display'.
 * @return array|object Term with all fields sanitized.
 */
function sanitize_term( $term, $taxonomy, $context = 'display' ) {
    $fields = array( 'term_id', 'name', 'description', 'slug', 'count', 'parent', 'term_group', 'term_taxonomy_id', 'object_id' );
 
    $do_object = is_object( $term );
 
    $term_id = $do_object ? $term->term_id : ( isset( $term['term_id'] ) ? $term['term_id'] : 0 );
 
    foreach ( (array) $fields as $field ) {
        if ( $do_object ) {
            if ( isset( $term->$field ) ) {
                $term->$field = sanitize_term_field( $field, $term->$field, $term_id, $taxonomy, $context );
            }
        } else {
            if ( isset( $term[ $field ] ) ) {
                $term[ $field ] = sanitize_term_field( $field, $term[ $field ], $term_id, $taxonomy, $context );
            }
        }
    }
 
    if ( $do_object ) {
        $term->filter = $context;
    } else {
        $term['filter'] = $context;
    }
 
    return $term;
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
taxonomy.php
 * this function will sanitize **all** fields. The context is based
 * on sanitize_term_field().
 *
 * The `$term` is expected to be either an array or an object.
 *
 * @since 2.3.0
 *
 * @param array|object $term     The term to check.
 * @param string       $taxonomy The taxonomy name to use.
 * @param string       $context  Optional. Context in which to sanitize the term.
 *                               Accepts 'raw', 'edit', 'db', 'display', 'rss',
 *                               'attribute', or 'js'. Default 'display'.
 * @return array|object Term with all fields sanitized.
 */
function sanitize_term( $term, $taxonomy, $context = 'display' ) {
    $fields = array( 'term_id', 'name', 'description', 'slug', 'count', 'parent', 'term_group', 'term_taxonomy_id', 'object_id' );
 
    $do_object = is_object( $term );
 
    $term_id = $do_object ? $term->term_id : ( isset( $term['term_id'] ) ? $term['term_id'] : 0 );
 
    foreach ( (array) $fields as $field ) {
        if ( $do_object ) {
            if ( isset( $term->$field ) ) {
                $term->$field = sanitize_term_field( $field, $term->$field, $term_id, $taxonomy, $context );
            }
        } else {
            if ( isset( $term[ $field ] ) ) {
                $term[ $field ] = sanitize_term_field( $field, $term[ $field ], $term_id, $taxonomy, $context );
            }
        }
    }
 
    if ( $do_object ) {
        $term->filter = $context;
    } else {
        $term['filter'] = $context;
    }
 
    return $term;
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
taxonomy.php
 *                                     correspond to a WP_Term object, an associative array, or a numeric array,
 *                                     respectively. Default OBJECT.
 * @param string             $filter   Optional. How to sanitize term fields. Default 'raw'.
 * @return WP_Term|array|WP_Error|null WP_Term instance (or array) on success, depending on the `$output` value.
 *                                     WP_Error if `$taxonomy` does not exist. Null for miscellaneous failure.
 */
function get_term( $term, $taxonomy = '', $output = OBJECT, $filter = 'raw' ) {
    if ( empty( $term ) ) {
        return new WP_Error( 'invalid_term', __( 'Empty Term.' ) );
    }
 
    if ( $taxonomy && ! taxonomy_exists( $taxonomy ) ) {
        return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy.' ) );
    }
 
    if ( $term instanceof WP_Term ) {
        $_term = $term;
    } elseif ( is_object( $term ) ) {
        if ( empty( $term->filter ) || 'raw' === $term->filter ) {
            $_term = sanitize_term( $term, $taxonomy, 'raw' );
            $_term = new WP_Term( $_term );
        } else {
            $_term = WP_Term::get_instance( $term->term_id );
        }
    } else {
        $_term = WP_Term::get_instance( $term, $taxonomy );
    }
 
    if ( is_wp_error( $_term ) ) {
        return $_term;
    } elseif ( ! $_term ) {
        return null;
    }
 
    // Ensure for filters that this is not empty.
    $taxonomy = $_term->taxonomy;
 
    /**
     * Filters a taxonomy term object.
     *
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
rest-api.php
     *
     * @since 5.9.0
     *
     * @param string       $route      The route path.
     * @param WP_Post_Type $post_type  The post type object.
     */
    return apply_filters( 'rest_route_for_post_type_items', $route, $post_type );
}
 
/**
 * Gets the REST API route for a term.
 *
 * @since 5.5.0
 *
 * @param int|WP_Term $term Term ID or term object.
 * @return string The route path with a leading slash for the given term,
 *                or an empty string if there is not a route.
 */
function rest_get_route_for_term( $term ) {
    $term = get_term( $term );
 
    if ( ! $term instanceof WP_Term ) {
        return '';
    }
 
    $taxonomy_route = rest_get_route_for_taxonomy_items( $term->taxonomy );
    if ( ! $taxonomy_route ) {
        return '';
    }
 
    $route = sprintf( '%s/%d', $taxonomy_route, $term->term_id );
 
    /**
     * Filters the REST API route for a term.
     *
     * @since 5.5.0
     *
     * @param string  $route The route path.
     * @param WP_Term $term  The term object.
     */
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
rest-api.php
     * @since 5.9.0
     *
     * @param string      $route    The route path.
     * @param WP_Taxonomy $taxonomy The taxonomy object.
     */
    return apply_filters( 'rest_route_for_taxonomy_items', $route, $taxonomy );
}
 
/**
 * Gets the REST route for the currently queried object.
 *
 * @since 5.5.0
 *
 * @return string The REST route of the resource, or an empty string if no resource identified.
 */
function rest_get_queried_resource_route() {
    if ( is_singular() ) {
        $route = rest_get_route_for_post( get_queried_object() );
    } elseif ( is_category() || is_tag() || is_tax() ) {
        $route = rest_get_route_for_term( get_queried_object() );
    } elseif ( is_author() ) {
        $route = '/wp/v2/users/' . get_queried_object_id();
    } else {
        $route = '';
    }
 
    /**
     * Filters the REST route for the currently queried object.
     *
     * @since 5.5.0
     *
     * @param string $link The route with a leading slash, or an empty string.
     */
    return apply_filters( 'rest_queried_resource_route', $route );
}
 
/**
 * Retrieves an array of endpoint arguments from the item schema and endpoint method.
 *
 * @since 5.6.0
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
rest-api.php
 
/**
 * Sends a Link header for the REST API.
 *
 * @since 4.4.0
 */
function rest_output_link_header() {
    if ( headers_sent() ) {
        return;
    }
 
    $api_root = get_rest_url();
 
    if ( empty( $api_root ) ) {
        return;
    }
 
    header( sprintf( 'Link: <%s>; rel="https://api.w.org/"', sanitize_url( $api_root ) ), false );
 
    $resource = rest_get_queried_resource_route();
 
    if ( $resource ) {
        header( sprintf( 'Link: <%s>; rel="alternate"; type="application/json"', sanitize_url( rest_url( $resource ) ) ), false );
    }
}
 
/**
 * Checks for errors when using cookie-based authentication.
 *
 * WordPress' built-in cookie authentication is always active
 * for logged in users. However, the API has to check nonces
 * for each request to ensure users are not vulnerable to CSRF.
 *
 * @since 4.4.0
 *
 * @global mixed          $wp_rest_auth_cookie
 *
 * @param WP_Error|mixed $result Error from another authentication handler,
 *                               null if we should handle it, or another value if not.
 * @return WP_Error|mixed|bool WP_Error if the cookie is invalid, the $result, otherwise true.
/
nas
/
content
/
live
/
comsol
/
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
/
nas
/
content
/
live
/
comsol
/
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 ] );
/
nas
/
content
/
live
/
comsol
/
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 ) {
/
nas
/
content
/
live
/
comsol
/
wp-includes
/
template-loader.php
<?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() ) {
    /**
/
nas
/
content
/
live
/
comsol
/
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';
 
}
 
/
nas
/
content
/
live
/
comsol
/
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';
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE nginx
REQUEST_URI /events-calendar/tag/melbourne/month/
USER fpm200013
HOME /home/fpm200013
WPENGINE_ACCOUNT comsol
WPENGINE_PHPSESSIONS on
WPENGINE_DB_SESSIONS off
REMOTE_PORT
REMOTE_ADDR 216.73.216.154
REQUEST_SCHEME http
HTTP_CF_CONNECTING_IP 216.73.216.154, 216.73.216.154, 216.73.216.154
HTTP_X_WPENGINE_PHP_VERSION 7.4
HTTP_CDN_LOOP cloudflare; loops=1
SERVER_NAME communitysolutions.org.au
PATH_INFO
CONTENT_TYPE
HTTP_VIA 1.1 pod-401806 (Varnish/trunk)
HTTP_X_FORWARDED_HOST communitysolutions.org.au
HTTP_CF_VISITOR {\"scheme\":\"https\"}
HTTP_CF_RAY 9dc85cc1bdbee6b0-CMH
HTTP_X_WPE_REQUEST_ID dbd65a0d226b304ca2e6e16d41c96db3
HTTP_X_WPE_INSTALL_NAME comsol
DOCUMENT_URI /index.php
HTTP_WPE_READONLY on
HTTP_ACCEPT_ENCODING gzip
HTTP_X_WORDPRESS_TYPE DEFAULT
HTTP_REFERER https://communitysolutions.org.au/events-calendar/tag/melbourne/month
CONTENT_LENGTH 0
REQUEST_METHOD GET
HTTP_RAWHOST communitysolutions.org.au
HTTP_X_IS_BOT 1
HTTP_X_CACHE_GROUP normal
HTTP_X_WPE_LOCAL_SSL 1
SYSLOG_IDENT phperr-comsol
PATH_TRANSLATED /nas/content/live/comsol/index.php
REDIRECT_STATUS 200
HTTPS on
HTTP_X_WPE_SSL 1
SCRIPT_FILENAME /nas/content/live/comsol/index.php
IS_WPE 1
SERVER_ADDR 127.0.0.1
GATEWAY_INTERFACE CGI/1.1
HTTP_X_FORWARDED_PROTO https
HTTP_HOST communitysolutions.org.au
PHP_ADMIN_VALUE newrelic.appname=comsol; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 981e49d5418d1001f84c2c04e78bbac9f337fc81 /usr/sbin/sendmail -t -i; syslog.ident=phperr-comsol;
SERVER_PROTOCOL HTTP/1.1
DOCUMENT_ROOT /nas/content/live/comsol
SCRIPT_NAME /index.php
SERVER_PORT 80
HTTP_X_REAL_IP_REMOTE 104.23.243.239
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
HTTP_CF_IPCOUNTRY US
HTTP_ACCEPT */*
HTTP_X_UA_ORIGINAL Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
PHP_VALUE upload_max_filesize=50M; post_max_size=100M;
QUERY_STRING
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1773544617.34
REQUEST_TIME 1773544617
Key Value
USER fpm200013
HOME /home/fpm200013
WPENGINE_ACCOUNT comsol
WPENGINE_PHPSESSIONS on
WPENGINE_DB_SESSIONS off
REMOTE_PORT
REMOTE_ADDR 216.73.216.154
REQUEST_SCHEME http
HTTP_CF_CONNECTING_IP 216.73.216.154, 216.73.216.154, 216.73.216.154
HTTP_X_WPENGINE_PHP_VERSION 7.4
HTTP_CDN_LOOP cloudflare; loops=1
SERVER_NAME communitysolutions.org.au
PATH_INFO
CONTENT_TYPE
HTTP_VIA 1.1 pod-401806 (Varnish/trunk)
HTTP_X_FORWARDED_HOST communitysolutions.org.au
HTTP_CF_VISITOR {"scheme":"https"}
HTTP_CF_RAY 9dc85cc1bdbee6b0-CMH
HTTP_X_WPE_REQUEST_ID dbd65a0d226b304ca2e6e16d41c96db3
HTTP_X_WPE_INSTALL_NAME comsol
DOCUMENT_URI /index.php
SERVER_SOFTWARE nginx
HTTP_WPE_READONLY on
HTTP_ACCEPT_ENCODING gzip
HTTP_X_WORDPRESS_TYPE DEFAULT
HTTP_REFERER https://communitysolutions.org.au/events-calendar/tag/melbourne/month
REQUEST_URI /events-calendar/tag/melbourne/month/
CONTENT_LENGTH 0
REQUEST_METHOD GET
HTTP_RAWHOST communitysolutions.org.au
HTTP_X_IS_BOT 1
HTTP_X_CACHE_GROUP normal
HTTP_X_WPE_LOCAL_SSL 1
SYSLOG_IDENT phperr-comsol
PATH_TRANSLATED /nas/content/live/comsol/index.php
REDIRECT_STATUS 200
HTTPS on
HTTP_X_WPE_SSL 1
SCRIPT_FILENAME /nas/content/live/comsol/index.php
IS_WPE 1
SERVER_ADDR 127.0.0.1
GATEWAY_INTERFACE CGI/1.1
HTTP_X_FORWARDED_PROTO https
HTTP_HOST communitysolutions.org.au
PHP_ADMIN_VALUE newrelic.appname=comsol; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 981e49d5418d1001f84c2c04e78bbac9f337fc81 /usr/sbin/sendmail -t -i; syslog.ident=phperr-comsol;
SERVER_PROTOCOL HTTP/1.1
DOCUMENT_ROOT /nas/content/live/comsol
SCRIPT_NAME /index.php
SERVER_PORT 80
HTTP_X_REAL_IP_REMOTE 104.23.243.239
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
HTTP_CF_IPCOUNTRY US
HTTP_ACCEPT */*
HTTP_X_UA_ORIGINAL Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
PHP_VALUE upload_max_filesize=50M; post_max_size=100M;
QUERY_STRING
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1773544617.34
REQUEST_TIME 1773544617
0. Whoops\Handler\PrettyPageHandler