# my-wp/1.5/controller/modules/mywp.controller.module.frontend.author-archive.php

My WP Customize Admin/Frontend, version 1.5. 84 lines.

- Page: https://pluginprobe.com/plugins/my-wp/1.5/code/controller/modules/mywp.controller.module.frontend.author-archive.php
- Raw: https://pluginprobe.com/plugins/my-wp/1.5/raw/controller/modules/mywp.controller.module.frontend.author-archive.php
- Modified: 2017-08-28T09:57:00+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/my-wp/1.5/code/controller/modules/mywp.controller.module.frontend.author-archive.php#L10-L20`.

```php
<?php

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

if( ! class_exists( 'MywpControllerAbstractModule' ) ) {
  return false;
}

if ( ! class_exists( 'MywpControllerModuleFrontendAuthorArchive' ) ) :

final class MywpControllerModuleFrontendAuthorArchive extends MywpControllerAbstractModule {

  static protected $id = 'frontend_author_archive';

  public static function mywp_controller_initial_data( $initial_data ) {

    $initial_data['disable_archive'] = '';

    return $initial_data;

  }

  public static function mywp_controller_default_data( $default_data ) {

    $default_data['disable_archive'] = false;

    return $default_data;

  }

  public static function mywp_wp_loaded() {

    if( is_admin() ) {

      return false;

    }

    if( ! self::is_do_controller() ) {

      return false;

    }

    add_action( 'pre_get_posts' , array( __CLASS__ , 'disable_archive' ) );

  }

  public static function disable_archive( $wp_query ) {

    if( ! self::is_do_function( __FUNCTION__ ) ) {

      return $wp_query;

    }

    if( empty( $wp_query->is_author ) ) {

      return $wp_query;

    }

    $setting_data = self::get_setting_data();

    if( empty( $setting_data['disable_archive'] ) ) {

      return $wp_query;

    }

    $wp_query->set_404();

    self::after_do_function( __FUNCTION__ );

  }

}

MywpControllerModuleFrontendAuthorArchive::init();

endif;

```
