【商用利用可】シンプルで使いやすい!フリーイラスト素材サイトまとめ

デザイン制作においてイラストを取り入れることは、情報をより伝えやすくしたり、印象をガラッと変えたり、華やかさを加える手段として有効です。
ただ、イラスト素材は画像素材よりも製作物の求めるイメージに合わせることが重要なため、様々なテイストのイラスト素材をストックしておくといざというときに便利です。
そんな中でも、今回は使いやすさを重視したシンプルなフリーイラストを提供しているサイトをいくつかご紹介します。

 

1. Loose Drawing

Loose Drawingは、キレイめな手書き風のイラストが特徴的です。
ありそうでなかなか見つけられなかった!というような珍しいシチュエーションのイラストが多く用意されています。
5色のカラー展開と、線画のみのパターンから選択できます。



 
配布形式:PNG

利用規約:https://loosedrawing.com/contact/

 

2. ソコスト

ソコストは、柔らかくかわいらしさも感じる魅力的なイラストが揃っています。
イラストのテーマカラーをカラーコードで変更することができるうえに、線画のみと線画なしのパターンも選択できるのでかなり使い勝手がよいです。



 
配布形式:PNG / SVG / EPS

利用規約:https://soco-st.com/guide

 

3. Linustock

Linustockは、現場の生の声から「加工しやすい」「使いやすい」「見つけやすい」を追求して作られたサイトです。
線のみで白黒のシンプルでオシャレなイラストが多数揃っています。
加工のしやすさに重点を置いており、パスもアウトライン化されていないのが特徴です。



 
配布形式:PNG / EPS

利用規約:https://www.linustock.com/termsofuse

 

4. 凡デザイン

凡デザインは、一筆書きのようなラフな雰囲気の線画イラストが揃っています。
「ビジネス」や「スポーツ」など、汎用性の高いカテゴリーからイラストを探すことができます。



 
配布形式:PNG

利用規約:https://bon.design/guide/

 

5. SASHIE

SASHIEは、「シンプルでクセのない主張を抑えたトーン」を目指したイラストが用意されています。
ポーズや表情、シチュエーションがとてもユニークなイラストが特徴的です。



 
配布形式:PNG / SVG

利用規約:https://sashie.org/terms-of-use/

 

6. Tech Pic

Tech Picは、その名の通りテック系のイラスト素材サイトです。
自動運転車やIoT家電など、なかなか見つけづらい近未来のアイテムのイラストが多数用意されています。



 
配布形式:PNG

利用規約:http://tech-pic.com/agreement

 

おわりに

今回は、商用利用可能なシンプルで使いやすいフリーイラスト素材サイトをご紹介しました。
気になるものがあれば、ぜひブックマークしておくことをおすすめします。
イラストを使用する際は必ず利用規約を読み、利用規約に反しない形で使用しましょう。

【WordPress】セキュリティプラグイン SiteGuard WP Pluginの使い方

WordPressサイトを構築する際、セキュリティ対策はちゃんと考えていますか?
初心者でも簡単にWebサイトを作ることができることから世界的に多く利用されているWordPressですが、多く利用されているということは悪意を持った第三者のターゲットになりやすいということでもあります。
主なセキュリティ対策としてWordPress本体及び、プラグインを最新のバージョンに保つなどいくつかありますが、今回はセキュリティプラグイン「SiteGuard WP Plugin」を紹介したいと思います。

1. SiteGuard WP Pluginとは

SiteGuard WP PluginとはWordPressにインストールするだけでサイトのセキュリティを向上させることができるプラグインです。
機能ごとに詳細な設定をすることができるので、自分に必要な機能だけ有効化することも可能です。

2. 機能紹介

SiteGuard WP Pluginには以下の機能があります。

管理ページアクセス制限 ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。
ログインページ変更 ログインページ名を変更します。
画像認証 ログインページ、コメント投稿に画像認証を追加します。
ログイン詳細エラーメッセージの無効化 ログインエラー時の詳細なエラーメッセージに変えて、単一のメッセージを返します。
ログインロック ログイン失敗を繰り返す接続元を一定期間ロックします。
ログインアラート ログインがあったことを、メールで通知します。
フェールワンス 正しい入力を行っても、ログインを一回失敗します。
XMLRPC防御 XMLRPCの悪用を防ぎます。
ユーザー名漏えい防御 ユーザー名の漏えいを防ぎます。
更新通知 WordPress、プラグイン、テーマの更新が必要になった場合に、管理者にメールで通知します。
WAFチューニングサポート WAF (SiteGuard Lite)の除外ルールを作成します。
ログイン履歴 ログインの履歴が参照できます。

管理ページアクセス制限

管理ページに対する攻撃をブロックします。
ログインしていない接続元に、管理ページ(/wp-admin/以降)へのアクセスを 404 Not Found で返します。この機能を除外するパスを個別で設定することも可能です。
管理ページアクセス制限 – WebセキュリティのEGセキュアソリューションズ

ログインページ変更

ログインページ(/wp-login.php)のURLを変更します。
ログインユーザー名とパスワードの組み合わせを探る攻撃は、その大半が機械的に行われており、それはデフォルトのログインページに対して行われます。ログインページを変更することで、これらの攻撃の対象になる機会を減らすことができます。
ログインページ変更 – WebセキュリティのEGセキュアソリューションズ

画像認証

ログインページ、コメントページ、パスワード確認ページ、ユーザー登録ページに、「ひらがな」または「英数字」4桁による画像認証を追加します。
ユーザー名、パスワードを機械的、あるいは人的に探る攻撃を困難にします。
画像認証 – WebセキュリティのEGセキュアソリューションズ

ログイン詳細エラーメッセージの無効化

この機能は、ログイン失敗時に何が間違っているのかを知らせないように、すべて同じエラーメッセージにするものです。
デフォルトではログインに失敗すると、間違っているのはユーザー名なのか、パスワードなのか、あるいは、画像認証なのかをエラーメッセージで知ることができます。何気ないエラーメッセージですが、これは攻撃者への大きなヒントとなってしまうため、エラー文を全て同一にすることで不正アクセスを防止します。
ログイン詳細エラーメッセージの無効化 – WebセキュリティのEGセキュアソリューションズ

ログインロック

機械的なログイン試行をブロックする機能です。
同一接続元からの連続したログイン失敗を検出して、当該接続元からのログインをロックします。多くの接続元を使用する攻撃や、ゆっくりとした攻撃には効果がない場合があります。
ログインロック – WebセキュリティのEGセキュアソリューションズ

ログインアラート

ログインすると、ログインユーザーにメールが送信されます。
ログインした心当たりがないのにメールを受信した場合は、不正ログインを疑ってください。
ログインアラート – WebセキュリティのEGセキュアソリューションズ

フェールワンス

この機能は、ログインが成功する場合でも、一度失敗させて次の組み合わせの試行に進ませることで、攻撃をかわすことを目的としています。
フェールワンス – WebセキュリティのEGセキュアソリューションズ

XMLRPC防御

XML-RPCピンバックを利用したDDoS攻撃や、XML-RPCを利用したブルートフォース攻撃から防御します。
XMLRPC防御 – WebセキュリティのEGセキュアソリューションズ

ユーザー名漏えい防御

“?author=数字”のアクセスによるユーザー名の漏えいを防止します。
ユーザー名とパスワードの組み合わせでログインしますが、ユーザー名が分かると後はパスワードだけですので、攻撃者はパスワードの推測に専念できます。ユーザー名は伏せておいた方が安全です。
ユーザー名漏えい防御 – WebセキュリティのEGセキュアソリューションズ

更新通知

WordPress、プラグイン、テーマについて、更新情報がある場合に、メールでお知らせします。
メールは管理者になっているユーザー宛に送信されます。
更新通知 – WebセキュリティのEGセキュアソリューションズ

WAFチューニングサポート

WebサーバーにJP-Secure製WAF SiteGuard Server Editionが導入されていて、正常なアクセスがWAFによって遮断されてしまう場合に、それを回避するルールを作成することができます。
WAFチューニングサポート – WebセキュリティのEGセキュアソリューションズ

ログイン履歴

どのユーザーがいつログインしたのかが履歴となって残ります。

3. 導入方法

導入方法は至ってシンプルです。
①WordPress管理画面「プラグイン」より「新規追加」をクリック
②キーワードに「SiteGuard WP Plugin」と入力
③プラグインが表示されたら「今すぐインストール」→「有効化」

インストールした段階で基本的な設定はされているので、あとは自分にとって必要、不要だと思う項目をON/OFFすれば完了です。

おわりに

今回は手軽にWordPressサイトのセキュリティ強化ができるプラグイン「SiteGuard WP Plugin」を紹介しました。
細かな設定が分からないWordPress初心者でも、インストールするだけで最低限のセキュリティ強化が可能なとても優秀なプラグインです。
WordPressインストール時に最初にインストールするプラグインとして覚えておいても良いのではないのでしょうか?
セキュリティ問題を起こしてしまってからでは取り返しがつかないので、そうなる前に可能な限り対策しておきましょう。

コーディング学習に使える!おすすめCSSフレームワーク

コーディングをする時「このHTMLタグの組み方でいいのだろうか?」「どのように組むのがベストなんだろう?」と疑問に思うことがありますよね。どんな業界・業種でもWebサイトを構成するパーツは共通なのに、毎回イチから考えて作るのは効率が悪いです。

優れたデザインのサイトを参考にソースコードを調べていくのもありですが、ひとつひとつ確認していくのは大変です。すでに多く利用されているパターンがあるのであれば、それを参考にするのが一番ですよね。そこでオススメする学習方法が「CSSフレームワーク」です。

「CSSフレームワーク」にはサイトでよく使用される共通パーツがコンポーネント集としてまとまっており、各パーツの書き方を学習するには一番お手軽な方法かと思います。今回はそんな学習に役立つCSSフレームワークを紹介したいと思います。

1. CSSフレームワークとは

「CSSフレームワーク」とは、Webサイトに必要なパーツがあらかじめ揃ったパーツ集のようなものです。見出しやボタンといった基本パーツから、アコーディオンやフォーム、モーダルといったものまでテンプレートとして用意されています。それらのパーツを組み合わせることで、手軽にキレイなサイトが作れるようになっています。

CSSフレームワークのサイトには各パーツの使い方をまとめたドキュメントページが用意されており、そこにはHTMLのサンプルコードが記載されています。現在はレスポンシブ対応も踏まえたHTML構成になっていることが多いため、拡張性の高い書き方を手軽に学習することができます。また、class名の付け方などもコーディングで迷うポイントなので参考にすることができます。

※ CSSフレームワークを利用したサイトは類似したデザインになりやすく、会社サイトやサービスサイトを作るのには向いていません。デザイナーが不在の場合や、一般ユーザーが目にすることのない社内管理システムなどで利用されるケースがよくあります。

2. CSSフレームワークの紹介

今回はコーディング学習用としての紹介ですので、導入方法などの説明は割愛します。

2-1. Bootstrap

Bootstrapのスクリーンショット

Twitter社が開発したCSSフレームワークです。世界でも人気のCSSフレームワークで、名前は知らなくてもデザインはどこかで見たことがある、という方もいるのではないでしょうか。

Bootstrapのドキュメントページはこちら。
https://getbootstrap.jp/docs/5.0/getting-started/introduction/

Bootstrapのスクリーンショット

左サイドバーにカテゴリー別にパーツが紹介されています。他のCSSフレームワークと比較してもBootstrapのドキュメントは見やすく整理されており、日本語対応しているので読みやすいです。学習するのにいくつか参考になるパーツを紹介します。

カード

Bootstrap「カード」のスクリーンショット

「お知らせ」等でよく使われるカードレイアウトです。このような定番パーツのコードは、どのCSSフレームワークでもほぼ同じ構成となっているので、最初にBootstrapで基本の型を学習しておくのがオススメです。class名の付け方もBEMに変換しやすく参考になります。

アコーディオン

Bootstrap「アコーディオン」のスクリーンショット

「よくある質問と回答」等で使われるアコーディオンです。サイトで使用する頻度は高いですが、イチから作ろうとすると少々手間がかかるパーツです。ただし、デザインが変わっても構造はほぼ変わらないので、一度作れば流用が可能なパーツでもあります。こちらもBootstrapを基本の型として学習しておくのがオススメです。

フォーム

Bootstrap「フォーム」のスクリーンショット

お問い合わせフォームはほとんどのWebサイトで必要となりますが、入力項目次第でレイアウトが複雑になったり、デザイン次第で装飾用コードが必要になったりと、どのように書くのが良いのか迷いますよね。Bootstrapのコードはレスポンシブ対応で且つシンプルな構成となっているので、このコードを基本にアレンジしていくと良いでしょう。

2-2. Bulma

Bulmaのスクリーンショット

Bulmaはグリッドシステムを搭載したJavaScript無しのシンプルなフレームワークです(BootstrapはjQueryが組み込み済み)Bootstrapと比べるとモダンなデザインで丸みがあり可愛らしいです。
ドキュメントページは英語ですがパーツごとにカテゴライズされて読みやすくなっています。

Bulmaのドキュメントページはこちら。
https://bulma.io/documentation/

2-3. Foundation

Foundationのスクリーンショット

Foundationはあらゆるデバイスで美しいWebサイトが簡単に設計できるCSSフレームワークです。

Foundationのドキュメントページはこちら。
https://get.foundation/sites/docs/

2-4. Semantic UI

Semantic UIのスクリーンショット

Semantic UIはデザイン性が高く、簡潔なHTMLと直感的なclass名で特徴のCSSフレームワークです。

Semantic UIのドキュメントページはこちら。
https://semantic-ui.com/introduction/getting-started.html

3. おわりに

今回はコーディング学習に使えるCSSフレームワークを紹介しました。
各パーツの基本の組み方さえ理解してしまえば、コーディングのスピードは大きく上げることができます。Bootstrapだけでも一通り学習できると思いますが、これが正解!というものはありませんので、色々なCSSフレームワークに触れて自分にあった設計思想を取り込んでいきましょう。

【CSS】フォーム要素の色をたった一行で変更できる「accent-color」

フォーム要素のラジオボタンやチェックボックスの色を、デフォルトから変更したいと思ったことはありませんか?
デフォルトのデザインを活かしつつ色だけを変更したいというときには、たった一行「accent-color」プロパティを記述することで簡単に実装できます!

今回は「accent-color」を使ってフォーム要素の色を変更する方法をご紹介します。

1. accent-colorとは?

accent-colorは、フォーム要素の色を変更できるcssプロパティで、以下の4つのフォーム要素がサポート対象になっています。

 ・チェックボックス
 ・ラジオボタン
 ・レンジスライダー
 ・プログレスバー

ブラウザ対応状況


2022年11月現在「Can I use」によると、ほとんどのブラウザで対応していますが、比較的新しいcssプロパティのため対応していないバージョンもあります。

2. 基本的な使い方

accent-color: 任意のカラー;

使い方はとてもシンプルで、適用したい要素にこの一行を記述するだけです。
以下、4つのフォーム要素をデフォルトと比較しながら色の変化を詳しく見ていきましょう。
※Chrome 107での表示結果を掲載しています

チェックボックス

<!--デフォルト-->
<label for="default">
	デフォルト
	<input type="checkbox" checked> 
</label>
<!--色変更-->
<label for="accented">
	色変更
	<input type="checkbox" class="accented" checked> 
</label>
.accented {
	accent-color: red;
}

ラジオボタン

<!--デフォルト-->
<label for="default">
	デフォルト
	<input type="radio" checked> 
</label>
<!--色変更-->
<label for="accented">
	色変更
	<input type="radio" class="accented" checked> 
</label>
.accented {
	accent-color: green;
}

レンジスライダー

<!--デフォルト-->
<label for="default">
	デフォルト
	<input type="range"> 
</label>
<!--色変更-->
<label for="accented">
	色変更
	<input type="range" class="accented"> 
</label>
.accented {
	accent-color: pink;
}

プログレスバー

<!--デフォルト-->
<label for="default">
	デフォルト
	<progress max="100" value="50">50%</progress>
</label>
<!--色変更-->
<label for="accented">
	色変更
	<progress max="100" value="50" class="accented">50%</progress>
</label>
.accented {
	accent-color: yellow;
}

おわりに

今回は「accent-color」を使ってフォーム要素の色を変更する方法をご紹介しました。

現在(2022年11月時点)はこの記事でご紹介した4つの要素に限定されますが、今後のアップデートで増えることを期待したいですね。

【WordPress】functions.phpでCSSとJavaScriptを読み込む方法

WordPressのオリジナルテーマを作成する際、CSSやJavaScriptファイルをどこで読み込んでいますか?WordPressを勉強したての方は、HTMLの時と同じように ヘッダー用テンプレートファイル(header.php)の<head>要素内に直接リンクを記述しているという方が多いのではないでしょうか。

しかし、WordPressの公式マニュアルには「ヘッダーテンプレートにテーマのスタイルシートをリンクしないでください」と記載されており、functions.php の中で wp_enqueue_style( )wp_enqueue_script( ) を使用して読み込むことが推奨されています。

WordPressを勉強したての方がつまづきやすいポイントでもあるかと思うので(私もそうでした)、今回は functions.php でのCSS、JavaScriptの読み込み方について紹介したいと思います。

1. header.phpでの読み込みの問題

そもそもheader.phpでの読み込みは何が問題なのでしょうか?HTMLの時と同じように<head>要素からリンクしても、サイトの見た目は問題なく表示されますよね。

例)<head>での読み込み

<head>
  〜
  <link rel="stylesheet" href="css/style.css">
  <script src="js/style.js"></script>
</head>

しかし、表面上では問題なくても裏側では問題が発生している可能性があります。

例えば、WordPressプラグインの中にはインストールして有効化した際に、外部のJavaScriptライブラリを使用している場合があります。header.phpで同じライブラリを読み込んでいた場合、ファイルが重複や競合をしてしまい、プラグインが正しく動作しなくなる恐れが出てきます。

また、JavaScriptを</body>直前で読み込みたい場合は、header.phpではなくfooter.phpに記述する必要が出てきます。このようにテンプレートファイルに直接記述する形だと、読み込ませたい位置にリンクを追加していくことになり、あとでファイルの追加や削除が発生した際にすべてのファイルを修正する必要があるなど、メンテナンス性の低下が問題となってきます。

2. functions.phpでの読み込み

公式が推奨するfunctions.phpでの読み込みでは、同じファイルの重複や競合を回避したり、JavaScriptの読み込み位置も変更することが可能です。また、CSSやJavaScriptを一元管理できるのでメンテナンス性も大きく向上します。

以下はfunctions.phpでCSSやJavaScriptを読み込む場合の記述例になります。

function add_link_files() {

  // CSSの読み込み
  wp_enqueue_style( 'common', get_stylesheet_directory_uri().'/css/common.css' );
  wp_enqueue_style( 'my-style', get_stylesheet_directory_uri().'/css/style.css', array('common'));

  // JavaScriptの読み込み
  wp_enqueue_script( 'my-script', get_template_directory_uri().'/js/script.js', array('jquery'), false, true );
}
add_action( 'wp_enqueue_scripts', 'add_link_files' );

「wp_enqueue_style( )」 と「wp_enqueue_script( )」は単体では使うことができないため、まず「add_link_files(名前は任意)」という関数にまとめます。そして10行目の「add_action( ’wp_enqueue_scripts’, ‘関数名’ ); 」というアクションフックに関数名を記述することで読み込ませることが可能になります。

ここからはCSS、JavaScriptを読み込むための関数について紹介します。

2-1. CSSの読み込み(wp_enqueue_style)

CSSの読み込みには「wp_enqueue_style( )」という関数で記述します。

wp_enqueue_style( $handle, $src, $deps, $ver, $media );
引数 説明 初期値
$handle ハンドル名(任意の名前)。他のCSSファイルの名前と重複しないように設定します。 なし
$src CSSファイルの参照パス。 空文字列
$deps
(省略可)
依存関係のあるファイル。このファイルより事前に読む込む必要があるファイルをハンドル名($handle)で設定します。
配列で記述するので複数設定することが可能です。
array( )
$ver
(省略可)
バージョン番号。CSSファイルの末尾に付きます。 false
$media
(省略可)
メディア属性。 all

2-2. JavaScriptの読み込み(wp_enqueue_script)

JavaScriptの読み込みは「wp_enqueue_script( )」という関数で記述します。

wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
引数 説明 初期値
$handle ハンドル名(任意の名前)。他のJSファイルの名前と重複しないように設定します。 なし
$src JSファイルの参照パス。 false
$deps
(省略可)
依存関係のあるファイル。このファイルより事前に読む込む必要があるファイルをハンドル名($handle)で設定します。
配列で記述するので複数設定することが可能です。
array( )
$ver
(省略可)
バージョン番号。JSファイルの末尾に付きます。 false
$in_footer
(省略可)
読み込み位置の設定。<head>に配置する場合はfalse、</body>直前に配置する場合はtrueを指定します。 false

スクリプトを実行するタイミングは基本的にHTMLの読み込みが完了してからの方が望ましいので、$in_footerの値をtrueにして</body>直前で読み込むようにしましょう。

2-3. 特定のページに読み込み

CSSやJavaScriptを特定のページにのみ読み込ませたい場合もありますよね。その場合は下記のようにページの条件分岐タグで対応することができます。

条件分岐の記述例

function add_link_files() {

  // コンタクトページでのみ読み込み
  if ( is_page('contact') ) {
	wp_enqueue_style('flow', get_stylesheet_directory_uri().'/css/flow.css');
  }
  // エラーページでのみ読み込み
  if ( is_404() ) {
    wp_enqueue_script('reload', get_template_directory_uri().'/js/reload.js', false, true);
  }
}
add_action( 'wp_enqueue_scripts', 'add_link_files' );

おわりに

今回はfunctions.phpでCSSとJavaScriptを読み込む方法について紹介しました。
WordPressを勉強したての方にとっては、いきなりfunctions.phpに触れるのは少し抵抗があるかもしれませんが、WordPressを使用する上で必須の知識となりますので、しっかり身に付けておきましょう。
また、functions.phpは不要なコードを削除してサイトを軽量化したり(過去記事を参照)、プラグインをカスタマイズするなど、今後も利用する機会が多くあります。あまり触れてこなかった…という方は、今回の記事をきっかけに試していただけたら幸いです。

Macユーザー必見!Mac純正カラーピッカー「Digital Color Meter」の使い方

ネットサーフィンをしているとき、この色素敵!カラーコードを知りたい!と思ったことはありませんか?
そんな時カラーピッカーを使えば、すぐにカラーコードを取得することができます。

専用のアプリやChromeの拡張機能などにもカラーピッカーはありますが、Macには最初からカラーピッカーアプリが入っていたことはご存知でしたか?
今回はMacに標準搭載されているDigital Color Meterをご紹介します。

1. Digital Color Meterの使い方

1-1. Spotlightで「Digital Color Meter」と検索

Command+スペースキーのショートカットでSpotlightを起動し、そこに「Digital Color Meter」と入力してアプリを開きます。

1-2. カラーコードを読み取る

アプリが起動すると画像のようなウィンドウが表示されます。
カラーコードを取得したいピクセルの上にポインタを移動しCommand+Shift+Cを入力すると、クリップボードにカラーコードをコピーすることができます。

2. Digital Color Meterをもっと使いやすくする方法

デフォルトの状態ではカラーコードは10進数で取得されるようになっていますが、上部メニューの「表示」→「値を表示」→「16進」を選択すると、カラーコードを16進数でコピーすることができます。



また、RGBの設定も可能なのでお好みで設定しておきましょう。

おわりに

今回は、Mac純正カラーピッカーDigital Color Meterをご紹介しました。

ずっとMacを使っていたけど、こんなデフォルトアプリがあったなんて知らなかった…という人も多いのではないでしょうか。
とてもシンプルで使いやすいので、Macユーザーの方はぜひ活用していきましょう!

【XD】ステート機能を利用した簡単なスライダー作成方法

みなさんはWeb制作の際にXDは使っていますか?
デザイン作成においてWeb業界ではかねてよりPhotoshop、Illustratorがよく利用されていましたが、XDが登場した今、弊社ではXDでのデザイン作成を推奨しています。

日々便利な機能が追加されているXDですが、今回はその中の一つ「ステート機能」を使ったスライダーの作成方法をご紹介したいと思います。

1. ステート機能について

ステート機能を簡単に説明すると、ボタンなどの状態変化をデザイン上で表現できる機能です。
例えばボタンのホバー時やクリックされたアクティブ時の状態をデザイン段階で見せることができます。

2. ステート機能を使ったボタンの作り方

例えば下の画像のような状態変化をボタンに施したい場合

2-1. ホバーステート

まず通常デザインのボタンをコンポーネント化し、「初期設定のステート」の隣にある+ボタンから「ホバーステート」を選択し追加します。


「ホバーステート」が追加されましたので、「ホバーステート」を選択した状態で、任意の変更を加えます。
この場合星の枠線を黄色に変更しました。


たったこれだけでホバー時の設定が完了しました。

2-2. トグルステート

ここからさらにクリック時の状態変化を追加します。
今度は「トグルステート」を追加ましょう。トグルとは同じ操作や処理によって二つの状態が交互に切り替わるような仕組みのことを言います。


この後は前述と同じでクリック時に変化するデザインを加えることでクリック時の設定が完了しまた。



この「トグルステート」を使用すればよくあるON/OFFボタンもデザイン上で簡単に作成することができます。

3. スライダーの作り方

では実際にステート機能を応用してスライダーを作ってみたいと思います。

スライダーは何枚でも設定することが可能です。スライドさせたい画像を任意の枚数用意してください。
用意ができたら横並びにしグループ化します。ここで縦並びにすれば縦にスライドさせることも可能です。


グループ化したものを画像一枚のサイズでマスクし、コンポーネント化します。



コンポーネントが完了したら先述のボタンと同様ステート機能を設定します。
今回は「新規ステート」をスライドさせたい枚数分用意してください。
ここでは任意の名前が設定できるので分かりやすい名前をつけておきましょう。今回は新規ステートにスライド2、スライド3と名付けました。



「初期設定ステート」が1枚目となるので2枚目、3枚目の状態を設定します。
「スライド2」を選択した状態で、マスクの下で2枚目の画像が表示されるよう移動させます。
3枚目も同様に「スライド3」を選択した状態で、3枚目の画像が表示されるように設定してください。


これで「初期設定ステート」「スライド2」「スライド3」それぞれの状態が設定できましたが、このままでは何をきっかけに画像が変化するかの設定がされていません。

次に、何をきっかけに変化するのかを「プロトタイプ」タブから設定します。

1枚目の矢印をクリックすると2枚目に、2枚目の矢印をクリックすると3枚目に遷移するような設定を行いますので、まず「プロトタイプ」タブを開いた状態で「初期設定ステート」を選択します。


その状態でトリガーとなる矢印を選択します。


矢印を選択した状態で右上の「インタラクション」を追加します。+ボタンをクリックしてください。
このインタラクション設定で、何をきっかけに、どのような動きをするかの設定をすることができます。


「矢印をクリックするとスライド2」が表示されるようにしたいので、
①トリガーを「タップ」
②種類を「自動アニメーション」
③移動先を「スライド2」
に設定してください。
その他の項目は自分の好みに設定してください。
この時、戻る矢印も同時に設定しておきましょう。


次に「スライド2」のステートを選択し、先ほどと同様の設定を行います。
「初期設定ステート」を選択した状態で2枚目のインタラクション設定しても意味がないので、ステートを切り替えることを忘れないでください。


以上でスライダーの設定が全て完了しました。

おわりに

今回はXDのステート機能を使ったスライダーの作成方法を紹介しました。
デザインをお客様に提示するとき、スライダーの動きまで見せることができれば、Webに詳しくないお客様にもイメージしてもらいやすいと思います。
認識のズレも回避することができますので、デザインを作成する際にはぜひ、今回紹介したステート機能を使用してみてください。

【WordPress 】MW WP Formのエラーメッセージのカスタマイズ方法

WordPressでお問い合わせフォームを作成するには「MW WP Form」を使用している方が多いと思います。公式マニュアルが日本語でわかりやすく、確認画面や自動返信メールが最初から用意されているため、とても便利ですよね。

ただ、そんな便利な「MW WP Form」も、エラーメッセージの文面や表示位置までカスタマイズしようとすると少々手間がかかります。そのため、サイトデザインの雰囲気には合っていないけど、デフォルトのままで利用している方もいるのではないでしょうか?

エラーメッセージは普段は見ることのない要素ですが、いざ入力ミスをした時にレイアウトが崩れてしまったり、文面が素っ気ないと印象がよろしくありません。今回はサイトデザインに合わせて、エラーメッセージをカスタマイズする方法について紹介します。(この記事では「MW WP Form」の導入や使い方についての説明は割愛します)

1. 初期のエラーメッセージについて

「MW WP Form」で作成したフォームの入力チェックは、フォーム編集画面の「バリデーションルール」で設定することができます。

例えば「メールアドレス(name=”email”)」を必須の入力項目とする場合、「バリデーションを適用する項目」にname属性の値「email」を入力して、「必須項目」と「メールアドレス」にチェックを入れるだけで設定完了です。

上記の設定をすると、必須項目の「メールアドレス」が未入力の場合、以下のように「未入力です。」のエラーメッセージが表示されるようになります。

このメッセージでも問題はないのですが、ユーザーに入力を促すのなら「メールアドレスを入力してください」と丁寧に記載したいところですよね。また、メッセージの表示位置もinputタグの直下になってしまうので、周辺にボタンや説明文を配置している場合、見た目がおかしくなってしまうケースもあります。

2. エラーメッセージのカスタマイズ

ここからは実際にエラーメッセージの文面と表示位置をカスタマイズする手順を紹介します。

2-1. フォーム作成

まずは「MW WP Form」で通常通りフォームを作成します。name属性の値は日本語ではなく英語で入力しておきましょう。

お名前
[mwform_text name="name" size="60"]
フリガナ
[mwform_text name="kana" size="60"]

[mwform_bsubmit name="submit" value="送信する"]送信する[/mwform_bsubmit]

2-2. デフォルトのエラーメッセージを非表示

続いてデフォルトのエラーメッセージを表示しないように「show_error=”false”」を追加します。

お名前
[mwform_text name="name" size="60" show_error="false"]
フリガナ
[mwform_text name="kana" size="60" show_error="false"]

[mwform_bsubmit name="submit" value="送信する"]送信する[/mwform_bsubmit]

これは「フォームタグを追加」する際に「エラーを表示しない」にチェックを入れた場合と同じ形式です。なので、エラーメッセージをカスタマイズするつもりなら、最初にフォームタグを追加する際にチェックを入れておきましょう。

2-3. 新しいエラーメッセージのタグ追加

新しいエラーメッセージを表示したい箇所に「mwform_error」を追加していきます。(下記の例ではinputタグの上に追加しています)keys属性には入力項目のname属性の値を記載します。

お名前
[mwform_error keys="name"]
[mwform_text name="name" size="60" show_error="false"]
フリガナ
[mwform_error keys="kana"]
[mwform_text name="kana" size="60" show_error="false"]

[mwform_bsubmit name="submit" value="送信する"]送信する[/mwform_bsubmit]

2-4. エラーメッセージの文面を変更

ここからはfunctions.phpでの作業になります。

下記のコードは「お名前(name)」と「フリガナ(kana)」が未入力(noempty)の場合に、指定したエラーメッセージ(message)を表示する、という設定になります。

// エラーメッセージの変更
function validation_rule($validation, $data, $Data) {
	$validation->set_rule('name', 'noempty', array('message' => 'お名前を入力してください'));
	$validation->set_rule('kana', 'noempty', array('message' => 'フリガナを入力してください'));
  return $validation;
}
add_filter('mwform_validation_mw-wp-form-100', 'validation_rule', 10, 3);

最後に記述されているmwform_validation_mw-wp-form-100の「100」の箇所は、フォーム作成時に発行される「フォーム識別子」の番号を設定してください。

2-5. エラーメッセージの装飾

最後にCSSでデザインを整えれば、エラーメッセージのカスタマイズ完了です。

3. カスタマイズ例

フォームのエラーは未入力以外にも、「指定の入力形式ではない」「文字数が指定範囲内でない」「ファイルサイズが上限オーバー」など色々ありますよね。バリデーションルールの値を変更することによって、それらのエラーメッセージもカスタマイズすることができます。

「MW WP Form」の公式サイトにはエラーメッセージをカスタマイズする際のバリデーションルールがまとめてあるので、一度確認してみてください。
(参考サイト:バリデーションルール | MW WP Form

3-1. フリガナの入力エラー

フリガナ(name=”kana”)の入力欄に、ひらがな・カタカナ以外を入力した場合のエラーメッセージをカスタマイズしたい場合は、バリデーションルールの項目を「kana」に設定します。

// エラーメッセージの変更
function validation_rule($validation, $data, $Data) {
	$validation->set_rule('kana', 'noempty', array('message' => 'フリガナを入力してください'));
	$validation->set_rule('kana', 'kana', array('message' => 'ひらがな、またはカタカナで入力してください'));
  return $Validation;
}
add_filter('mwform_validation_mw-wp-form-100', 'validation_rule', 10, 3);

3-2. 添付ファイルの参照エラー

添付ファイル(name=”resume”)のエラーメッセージをカスタマイズしたい場合は、バリデーションルールの項目を以下のように設定します。

「fileSize」…ファイルサイズ指定。バイト数で入力します。(5MBの場合は5000000)
「fileType」…ファイル形式指定。拡張子をカンマで複数入力します。

// エラーメッセージの変更
function validation_rule($validation, $data, $Data) {
  $validation->set_rule('resume', 'fileSize', array(
    'bytes' => 5000000,
    'message' => 'ファイルサイズは5MB以内にしてください'
  ));
  $validation->set_rule('resume', 'fileType', array(
    'types' => 'docx,xlsx,pdf',
    'message' => '指定されたファイル形式でアップロードしてください'
  ));
  return $validation;
}
add_filter('mwform_validation_mw-wp-form-100', 'validation_rule', 10, 3);

おわりに

今回は「MW WP Form」のエラーメッセージのカスタマイズ方法を紹介しました。
エラーのデザインはミスがなければ基本的には見られることはないですが、いざ表示された時にデザインやメッセージまで作り込まれていると、サイトへの印象は大きく変わりますよね。また、入力内容に沿ったエラーメッセージを表示することは、ユーザビリティの向上にも繋がります。今までエラーメッセージはデフォルトのままだった…という方は、ぜひ今回の記事を参考に試していただければと思います。

【CSS】YouTube動画をアスペクト比を維持したまま埋め込む方法

昨今、動画市場の成長によりネットで動画を閲覧することは一般的になりました。
動画は文字や画像よりも多くの情報を発信できるため、ユーザーの印象に残りやすいコンテンツです。
自社でYouTubeチャンネルを運営していれば、YouTube動画をホームページに掲載することはマーケティングにおいて有効な手段になり得ます。

Webサイト制作において今や欠かせないレスポンシブ対応ですが、ホームページにYouTube動画を埋め込む際もスマートフォンを基準に構成を考えることが必要になってくるでしょう。
しかし、いざレスポンシブ対応をしようとするとアスペクト比が崩れて綺麗に表示されない…と悩んだことはありませんか?

今回は、そんな悩みを解決する「YouTube動画をアスペクト比を維持したまま埋め込む方法」をご紹介します。

1. YouTube動画をWebサイトに埋め込む手順

まずはYouTube動画を埋め込む基本的な方法をご紹介します。

1-1. 埋め込みたいYouTube動画の [共有] をクリックします。

1-2. 共有オプションから [埋め込む] をクリックします。

1-3. 表示されているコードをコピーします。

1-4. 埋め込みたいWebサイトのHTMLにコードを貼り付けます。

以上の手順で簡単にYouTube動画を埋め込むことができます。

2. CSSのaspect-ratioプロパティでアスペクト比を維持したレスポンシブ対応

アスペクト比を保った状態でレスポンシブ対応させる方法として、ここではaspect-ratioを使った方法をご紹介します。

2-1. aspect-ratioとは?

aspect-ratioは、アスペクト比でボックスや動画、画像のサイズを指定するCSSプロパティです。

2-2. aspect-ratioのブラウザ対応状況


2022年9月現在「Can I use」によると、ほとんどのブラウザで対応しています。
しかし、Safari15未満には対応していないため採用する際は注意が必要です。

2-3. 基本的な使い方

コピーしたYouTube動画の埋め込みコードを用意します。

<iframe width="560" height="315" src="https://www.youtube.com/embed/-bNMq1Nxn5o" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

取得したコードをそのまま使用すると、560×315の大きさで表示されます。
YouTube動画の標準アスペクト比は16:9なので、CSSで以下のように指定します。

iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
 }

widthを任意の値、heightをautoに指定することでアスペクト比を16:9に保ったままレスポンシブ対応することができます。

おわりに

今回は、aspect-ratioを使ってYouTube動画をアスペクト比を維持したまま埋め込む方法をご紹介しました。

アスペクト比を維持する方法はいくつかありますが、aspect-ratioを使ったコードの方がシンプルで分かりやすいのでオススメです。
どんな端末からでもWebサイトをストレスなく閲覧できるように、ぜひ覚えておきましょう!