@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ============================================================
 * 1. 法務ページを年齢認証から除外する
 * ========================================================== */
add_filter( 'ag_age_gate_enabled', function ( $on ) {
	if ( is_page( array( 'privacy-policy', 'disclaimer', 'about', 'contact' ) ) ) {
		return false;
	}
	return $on;
} );

/* ============================================================
 * 2. ユーザー名の露出を防ぐ（ブルートフォース対策）
 * ========================================================== */

// 2-1. 作成者アーカイブ（/author/xxx/）へのアクセスをトップへ転送
add_action( 'template_redirect', function () {
	if ( is_author() ) {
		wp_safe_redirect( home_url( '/' ), 301 );
		exit;
	}
} );

// 2-2. /?author=1 形式のユーザー名列挙をブロック
add_action( 'parse_request', function ( $query ) {
	if ( ! is_admin() && ! empty( $query->query_vars['author'] ) ) {
		wp_safe_redirect( home_url( '/' ), 301 );
		exit;
	}
} );

// 2-3. 未ログイン時のみ REST API のユーザー一覧を無効化
add_filter( 'rest_endpoints', function ( $endpoints ) {
	if ( is_user_logged_in() ) {
		return $endpoints;
	}
	unset( $endpoints['/wp/v2/users'] );
	unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
	return $endpoints;
} );

// 2-4. ログイン失敗時のメッセージを曖昧にする
add_filter( 'login_errors', function () {
	return 'ログイン情報が正しくありません。';
} );

/* ============================================================
 * 3. 不要な情報の出力を止める
 * ========================================================== */
remove_action( 'wp_head', 'wp_generator' );
add_filter( 'xmlrpc_enabled', '__return_false' );