<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否

function haup_seo_meta_tags_header_init(){

	//アイキャッチ画像がない場合に表示する画像
	//サイトロゴが登録されていればロゴ、そうでなければテーマのスクリーンショット
	if(has_custom_logo()){
		$default_image = wp_get_attachment_url( get_theme_mod( 'custom_logo' ) );
	}else{
		$default_image = get_template_directory_uri().'/screenshot.png';
	}

//アーカイブページ用のmetaデータ
if(is_archive()){
	//アーカイブタイトルからspanタグを除く
	add_filter( 'get_the_archive_title_prefix', '__return_false' );

	//アーカイブのタイトルを取得
	$archive_title = get_the_archive_title();

	// タームのIDを取得
	$term_id = get_queried_object_id(); // 現在のタームのIDを取得
	$term = get_term($term_id); // タームオブジェクトを取得

	$after_message = __(" 's Archives","hima-art-utility");

	// タームの説明文を出力
	$def_des = '';//変数を初期化 

	// ページネーションされたページの場合、説明文にページ番号を追加
	$page_num = '';

	 if ( is_paged() ) {
		global $paged;
		 if ( empty( $paged ) ) {
			$page_num = '';
		}
			$page_num = " (Page{$paged})";
		}

	if ( ! is_wp_error( $term ) && is_object( $term ) ) {
		// 1. 説明文（プロフィール情報またはターム説明）の取得
		$description = ! empty( $term->description ) ? $term->description : '';

		if ( ! empty( $description ) ) {
			$def_des = esc_html( $description ) . $page_num;
		} else {
			// 2. 名前（投稿者名またはターム名）の取得
			$name = '';

			if ( isset( $term->display_name ) ) {
				// 投稿者アーカイブの場合
				$name = $term->display_name;
			} elseif ( isset( $term->name ) ) {
				// カテゴリー/タグアーカイブの場合
				$name = $term->name;
			}

			if ( ! empty( $name ) ) {
				$def_des = esc_html( $name . $after_message ) . $page_num;
			}
		}
	}

	// タクソノミーの表示名を取得
	$taxonomy = '';//初期値を設定
	$taxonomy_name = '';//初期値を設定

	if ( ! is_wp_error( $term ) && is_object( $term ) ) {
		 if ( isset( $term->taxonomy ) ) {
			 // 1. 通常のカテゴリーやタグなどの場合
			$taxonomy = get_taxonomy( $term->taxonomy );
			if ( $taxonomy ) {
				$taxonomy_name = esc_html( $taxonomy->labels->name );
			}
		} elseif ( isset( $term->roles ) || isset( $term->display_name ) ) {
			// 2. 投稿者アーカイブの場合
			// 固定で「投稿者」とするか、ラベルを取得する
			$taxonomy_name = esc_html__( 'Author', 'hima-art-utility' );
		} else {
			$taxonomy_name = '';
		}
	} else {
		$taxonomy_name = '';
	}

	echo "\n";
	echo '<!-- HAUP SEO DATA -->';
	echo "\n";
	echo '<meta name="description" content="';
	echo esc_html($taxonomy_name.'-'.$def_des);
	echo '">';
	echo "\n";
	echo '<meta name="keywords" content="';
	echo esc_html($archive_title);
	echo '">';
	echo "\n";
	echo '<meta name="thumbnail" content="';
	echo esc_html($default_image);
	echo '" />';
	echo "\n";
}else if(haup_is_single_without_front()){
	$post_thumbnail = get_the_post_thumbnail_url(get_the_ID(),'full');

	if(has_post_thumbnail(get_the_ID())){
		$post_thumb = $post_thumbnail;
	}else{
		$post_thumb = $default_image;
	}

	echo "\n";
	echo '<!-- HAUP SEO DATA -->';
	echo "\n";
	echo '<meta name="thumbnail" content="';
	echo esc_html($post_thumb);
	echo '" />';

	haup_custom_seo_meta();

}elseif( is_home() || is_front_page()){
//ホームやトップページのメタデータ

	//キーワードの設定
	$seo_key = '';

	if( !empty( GetOP01_optimize()['home-meta-keywords'] ) ){
		$seo_key = esc_html(GetOP01_optimize()['home-meta-keywords']);//設定画面に入力があるとき
	}else{//設定画面に入力がなければすべてのカテゴリーを抽出
		$allcats = get_categories();
		$kwds = array();

		foreach($allcats as $allcat) {
		$kwds[] = $allcat->name;
		}

		$seo_key = implode( ',',$kwds );
	}

	//ディスクリプションの設定
	$def_des = get_bloginfo( 'description' );

	if(!empty( GetOP01_optimize()['home-meta-description'] ) ){
		$def_des = esc_html(GetOP01_optimize()['home-meta-description']);//設定画面に入力があるとき
	}


	echo "\n";
	echo '<!-- HAUP SEO DATA -->';
	echo "\n";
	echo '<meta name="description" content="';
	echo esc_html($def_des);
	echo '">';
	echo "\n";
	echo '<meta name="keywords" content="';
	echo esc_html($seo_key);
	echo '">';
	echo "\n";
	echo '<meta name="thumbnail" content="';
	echo esc_url($default_image);
	echo '" />';
	echo "\n";

}else{
	add_filter( 'get_the_archive_title_prefix', '__return_false' );//spanタグを除く
	$archive_title = get_the_archive_title();
	$def_des = get_bloginfo( 'description' );

	echo "\n";
	echo '<!-- HAUP SEO DATA -->';
	echo "\n";
	echo '<meta name="description" content="';
	echo esc_html($archive_title);
	echo '|';
	echo esc_html($def_des);
	echo '">';
	echo "\n";
	echo '<meta name="keywords" content="';
	echo esc_html($archive_title);
	echo '">';
	echo "\n";
	echo '<meta name="thumbnail" content="';
	echo esc_html($default_image);
	echo '" />';
	echo "\n";

}
}
add_action('wp_head','haup_seo_meta_tags_header_init',1);