Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

ヘッダー全体背景色など設定時に文字色を...
 
通知
すべてクリア

[解決済] ヘッダー全体背景色など設定時に文字色を自動判別して反映の処理について

5 投稿
2 ユーザー
2 Reactions
137 表示
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 4年前
投稿: 4343
トピックスターター  

----------------------------------------------
テーマ名:Cocoon
バージョン:2.9.1.2
カテゴリー数:18
タグ数:124
投稿数:1748
固定ページ数:12
ユーザー数:1
----------------------------------------------

以下で新たに関数get_text_color_from_background_colorを追加しています。

https://github.com/xserver-inc/cocoon/commit/d2f1aef881b34601d3d7f8781ea03065c8c8b93b#diff-7269029bd51db10d67833d786cf414041084e1c2cf18b3f9c759f40dbe585987

しかし、背景色が明暗を判定する関数は以前からあります。

https://github.com/xserver-inc/cocoon/blob/abe28858b6da9e06d8feb8fb69d8879fa616e11b/lib/utils.php#L3827-L3850

例えばスキンでは、アーカイブタイトルの背景色が暗い場合、文字色を自動で切り替えています。

$title_color = is_dark_hexcolor($body_color) ? '#fff' : '#333';

●質問

is_dark_hexcolor($body_color)の戻り値(true、false)に応じ文字色を決め、プロパティ変数に格納するだけだと思います。
新たに類似した関数を作る必要はあるのでしょうか?



   
わいひら reacted
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 4年前
投稿: 4343
トピックスターター  

●追記

例えば以下の部分ですが

https://github.com/xserver-inc/cocoon/blob/abe28858b6da9e06d8feb8fb69d8879fa616e11b/tmp/css-custom.php#L93-L107

以下では問題なのでしょうか?
また、同じ背景色にも関わらずget_text_color_from_background_colorを毎回呼んでおり。

<?php $text = is_dark_hexcolor($site_key_color) ? '#fff' : '#333'; ?>
.header,
.header .site-name-text,
#navi .navi-in a,
#navi .navi-in a:hover,
.article h2,
.sidebar h2,
.sidebar h3,
#footer,
#footer a:not(.sns-button){
  color: <?php echo $text; ?>;
}
:root {
  --cocoon-header-text-color: <?php echo $text; ?>;
  --cocoon-navi-text-color: <?php echo $text; ?>;
}


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 8年前
投稿: 18428
 

ご指摘ありがとうございます。

違いは判別方法がRGBの単純平均か、YIQ輝度計算になります。
とはいえ、おっしゃる通りでやっていることはほぼ似たようなものなのでis_dark_hexcolor関数の方もよりユーザビリティの高いYIQ輝度計算に変更してget_text_color_from_background_colorの中で使用することにより、統一化して不要な部分をリファクタリングすることにしました。
https://github.com/xserver-inc/cocoon/commit/3e72061756be57b8c5d8de6f4190956468e53cd3#diff-7269029bd51db10d67833d786cf414041084e1c2cf18b3f9c759f40dbe585987
閾値が多少変わったことにより、暗いと判別するラインが多少変わりました。なのでスキンなどで明るい暗いの判別が変わるケースも一部ありますがYIQ輝度計算の方が人の目に近い判別となる(一般的に見えやすくなる)ため、ユーザビリティが上がると考えております。
多少なりとも判別が変わるため、恐れ入りますがご了承ください。

css-custom.phpのほうも変数を利用するようにしました。
https://github.com/xserver-inc/cocoon/commit/3e72061756be57b8c5d8de6f4190956468e53cd3#diff-bbf7968c2e3a1bda8186b30c28b3b387a1918965f406564fd8c5ad20401fe23c



   
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 4年前
投稿: 4343
トピックスターター  

----------------------------------------------
テーマ名:Cocoon
バージョン:2.9.1.3
カテゴリー数:18
タグ数:124
投稿数:1749
固定ページ数:12
ユーザー数:1
----------------------------------------------

輝度計算となis_darkに集約されていることを確認しました。
本件をクローズとします。


●余談

判別の差は気にしていません。

ただ、GitHubの履歴を見たら、思いもしない部分が、大量に修正されており。
1日1回は必ず、履歴を見ています。

フォーラムに関わった当初から思ってることで、わいひらさん、CSS苦手?(笑)



   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 8年前
投稿: 18428
 

ご確認いただきありがとうございます。
もともと僕は本業でやっていたわけではないので、CSSに限らず全てが苦手と言っていいかもしれません。そもそも自分でまともにキーボードも打てませんし 😓 



   
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました