<?php 

//投稿サムネイル画像（アイキャッチ画像）を使用
if ( function_exists( 'add_theme_support' ) )
add_theme_support( 'post-thumbnails' );


//フロントページに投稿サムネイル画像（アイキャッチ画像）を使用する場合の大きさを指定
add_image_size( 'list-thumbnail', 200, 200, true );
add_image_size( 'single-post-thumbnail', 324, 243, true );


//投稿一覧にサムネイルを表示
if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {
 
    //サムネイルを使用する記事タイプを指定
    add_theme_support('post-thumbnails', array( 'salt_water','fresh_water','fishing_gear' ) );
 
    function fb_AddThumbColumn($cols) {
 
        $cols['thumbnail'] = __('Thumbnail');
 
        return $cols;
    }
 
    function fb_AddThumbValue($column_name, $post_id) {
 
            $width = (int) 120;
            $height = (int) 90;
 
            if ( 'thumbnail' == $column_name ) {
                // thumbnail of WP 2.9
                $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
                // image from gallery
                $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
                if ($thumbnail_id)
                    $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
                elseif ($attachments) {
                    foreach ( $attachments as $attachment_id => $attachment ) {
                        $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
                    }
                }
                    if ( isset($thumb) && $thumb ) {
                        echo $thumb;
                    } else {
                        echo __('None');
                    }
            }
    }
 
    // for posts
    add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
 
    // for pages
    add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}



//管理パネルをカスタマイズ

function my_head() {
  echo '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('template_url') . '/css/admin-panel.css" />';
}
add_action('admin_print_styles', 'my_head', 21);



//ダッシュボードから不要ウィジットを消す
remove_all_actions('wp_dashboard_setup');

function example_remove_dashboard_widgets() {

	global $wp_meta_boxes;

	//Main column
	//unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);//現在の状況
	//unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);//最近のコメント
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);//被リンク
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);//プラグイン

	//Side Column
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);//クイック投稿
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);//最近の下書き
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);//WordPressブログ
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);//WordPressフォーラム

}

add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );



//管理者以外にアップデートのお知らせ非表示


if (!current_user_can('edit_users')) {
  function wphidenag() {
    remove_action( 'admin_notices', 'update_nag');
  }
  add_action('admin_menu','wphidenag');
}

//管理者以外にアップデートのお知らせ非表示2

if( !current_user_can( 'administrator' ) ) {
    add_filter( 'pre_site_transient_update_core', '__return_zero' );
    remove_action( 'wp_version_check', 'wp_version_check' );
    remove_action( 'admin_init', '_maybe_update_core' );
}



//ユーザーIDによって不要なメニューを非表示


function remove_menus () {
  global $menu;
  global $current_user;
  get_currentuserinfo();
  if($current_user -> user_login == 'editor@kenyu') {
    $restricted = array(
      __('リンク'),
      __('固定ページ'),
      __('コメント'),
      __('ツール'),
      __('お問い合わせ'),
    );
    end ($menu);
    while (prev($menu)){
      $value = explode(' ',$menu[key($menu)][0]);
      if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){
        unset($menu[key($menu)]);
      }
    }
  }
}
add_action('admin_menu', 'remove_menus');

/*
validation
英数字のみの項目入力を禁止
*/
add_filter(
    'wpcf7_validate',
    function ($result, $tag) {
        if ($_POST['sender-message'] ?? false) {
            $value = str_replace([PHP_EOL, ' '], '', esc_attr($_POST['sender-message']));
            if (!empty($value)) {
                if (preg_match('/^[!-~]+$/', $value)) {
                    $result['valid'] = false;
                    $result['reason'] = ['sender-message' => '日本語で入力してください'];
                }
            }
        }
        return $result;
    },
    10,
    2
);


?>