get_archive_template

The timeline below displays how wordpress function get_archive_template has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Retrieves path of archive template in current or parent template.
 *
 * The template hierarchy and template path are filterable via the {@see '$type_template_hierarchy'}
 * and {@see '$type_template'} dynamic hooks, where `$type` is 'archive'.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to archive template file.
 */
function get_archive_template()
{
    $post_types = array_filter((array) get_query_var('post_type'));
    $templates = array();
    if (count($post_types) === 1) {
        $post_type = reset($post_types);
        $templates[] = "archive-{$post_type}.php";
    }
    $templates[] = 'archive.php';
    return get_query_template('archive', $templates);
}

WordPress Version: 6.1

/**
 * Retrieves path of archive template in current or parent template.
 *
 * The template hierarchy and template path are filterable via the {@see '$type_template_hierarchy'}
 * and {@see '$type_template'} dynamic hooks, where `$type` is 'archive'.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to archive template file.
 */
function get_archive_template()
{
    $post_types = array_filter((array) get_query_var('post_type'));
    $templates = array();
    if (count($post_types) == 1) {
        $post_type = reset($post_types);
        $templates[] = "archive-{$post_type}.php";
    }
    $templates[] = 'archive.php';
    return get_query_template('archive', $templates);
}

WordPress Version: 4.9

/**
 * Retrieve path of archive template in current or parent template.
 *
 * The template hierarchy and template path are filterable via the {@see '$type_template_hierarchy'}
 * and {@see '$type_template'} dynamic hooks, where `$type` is 'archive'.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to archive template file.
 */
function get_archive_template()
{
    $post_types = array_filter((array) get_query_var('post_type'));
    $templates = array();
    if (count($post_types) == 1) {
        $post_type = reset($post_types);
        $templates[] = "archive-{$post_type}.php";
    }
    $templates[] = 'archive.php';
    return get_query_template('archive', $templates);
}

WordPress Version: 4.7

/**
 * Retrieve path of archive template in current or parent template.
 *
 * The template hierarchy is filterable via the {@see 'archive_template_hierarchy'} hook.
 * The template path is filterable via the {@see 'archive_template'} hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to archive template file.
 */
function get_archive_template()
{
    $post_types = array_filter((array) get_query_var('post_type'));
    $templates = array();
    if (count($post_types) == 1) {
        $post_type = reset($post_types);
        $templates[] = "archive-{$post_type}.php";
    }
    $templates[] = 'archive.php';
    return get_query_template('archive', $templates);
}

WordPress Version: 4.3

/**
 * Retrieve path of archive template in current or parent template.
 *
 * The template path is filterable via the dynamic {@see '$type_template'} hook,
 * e.g. 'archive_template'.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to archive template file.
 */
function get_archive_template()
{
    $post_types = array_filter((array) get_query_var('post_type'));
    $templates = array();
    if (count($post_types) == 1) {
        $post_type = reset($post_types);
        $templates[] = "archive-{$post_type}.php";
    }
    $templates[] = 'archive.php';
    return get_query_template('archive', $templates);
}

WordPress Version: 3.9

/**
 * Retrieve path of archive template in current or parent template.
 *
 * The template path is filterable via the 'archive_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to archive template file.
 */
function get_archive_template()
{
    $post_types = array_filter((array) get_query_var('post_type'));
    $templates = array();
    if (count($post_types) == 1) {
        $post_type = reset($post_types);
        $templates[] = "archive-{$post_type}.php";
    }
    $templates[] = 'archive.php';
    return get_query_template('archive', $templates);
}

WordPress Version: 3.7

/**
 * Retrieve path of archive template in current or parent template.
 *
 * @since 1.5.0
 *
 * @return string
 */
function get_archive_template()
{
    $post_types = array_filter((array) get_query_var('post_type'));
    $templates = array();
    if (count($post_types) == 1) {
        $post_type = reset($post_types);
        $templates[] = "archive-{$post_type}.php";
    }
    $templates[] = 'archive.php';
    return get_query_template('archive', $templates);
}