Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ カスタム投稿タイプ設定 ] Menu Icon設定を追加 #1086

Merged
merged 7 commits into from
Apr 30, 2024

Conversation

mtdkei
Copy link
Contributor

@mtdkei mtdkei commented Apr 25, 2024

チケットへのリンク / 変更の理由(元のissueがあればリンクを貼り付ければOK)

#1085

どういう変更をしたか?

カスタム投稿タイプ設定のMenu Icon項目で、Dashiconsのiconから左メニューのアイコンを設定できるようにしました。
image

ソースコードについて

  • 複数の意図の変更 ( 機能の不具合修正 + 別の機能追加など ) を含んでいないか?
  • 関数名 / 変数名 / クラス名 / 保存値名 はそれだけで内容が想像できるものになっているか?紛らわしい命名になっていないか?
  • 関数名 / 変数名 / クラス名 / 保存値名 は既存のコードの命名規則に沿ったものになっているか?

デザイン・UI

  • 初見のユーザーが予備知識無しで使っても使いやすいようになっているか?
  • 情報意味を考慮した意味グルーピング・余白になっているか?
  • アラートの表示など追加した場合は他の同様の表示と同じデザインになっているか?

プログラムの変更の場合

テストを書かないのは普通ではありません。書けるテストは極力書くようにしてください。
書いていない場合は書かない理由を記載してください。

  • 書けそうなテストは書いたか?
  • 表示要素が仕様通りに表示されない不具合の修正ではない or 表示要素に関する不具合修正の場合テストは書いたか?
    →表示要素が仕様通りに表示されない不具合の修正ではない or 表示要素に関する不具合修正ではないと思われるので省略。

その他

  • readme.txt に変更内容は書いたか?
  • Files changed (変更ファイル)の内容は目視でちゃんと確認したか?
  • このチェック項目を機械的にチェックするのではなく本当にちゃんと確認をしたか?
  • レビュワーが確認しないでリリースしてしまっても問題ないレベルまでちゃんと作りこみ・確認をしたか?

変更内容について何を確認したか、どういう方法で確認をしたかなど

  1. ダッシュボードからカスタム投稿タイプ設定 > 新規投稿を追加 で新規追加
  2. 各種設定を行い、Menu Iconにあるアイコンを選択し保存
  3. 追加したカスタム投稿タイプの左メニューのアイコンが設定したアイコンになっていることを確認

また、以下も確認済みです。

  • Menu Iconにある「Dashicons Library」のリンクからアイコン名をコピペし選択し保存したところ、左メニューのアイコンが設定されました。
  • すでにカスタム投稿タイプ設定 から作られていたカスタム投稿タイプのアイコンも変えられました。

確認URL

( どこかのデモサイトかテストサーバーにデプロイ済みなどで確認できる場合はそのURL )

レビュワーの確認方法・確認する内容など

  1. ダッシュボードからカスタム投稿タイプ設定 > 新規投稿を追加 で新規追加してください。
  2. 各種設定を行い、Menu Iconにあるアイコンを選択し保存してください。
  3. 追加したカスタム投稿タイプの左メニューのアイコンが設定したアイコンになっていることを確認してください。

また、以下の設定でもアイコンが変わっているか確認してみてください。

  • Menu Iconにある「Dashicons Library」のリンクからアイコン名をコピペし選択し保存してください。
  • すでにカスタム投稿タイプ設定 から作られていたカスタム投稿タイプでMenu Iconを設定してください。

レビュワーに回す前の確認事項

  • このテンプレートのチェック項目をちゃんと確認してチェックしたか?

レビュワー向け

確認して変更が反映されていない場合の確認事項

  • プルしたか?
  • ビルドしたか?
  • ビルドしたディレクトリは正しいか(別の開発環境のディレクトリを見ていないか)?
  • npm install したか?
  • composer install したか?

@mtdkei
Copy link
Contributor Author

mtdkei commented Apr 25, 2024

あとはテストができれば確認いただけるのですが、PHPUnitでエラーになるのでDraftにしてます。
エラー内容はDiscodeに書いています

解決したのでOpenにします。

@mtdkei mtdkei self-assigned this Apr 25, 2024
@mtdkei mtdkei marked this pull request as ready for review April 26, 2024 00:14
@drill-lancer
Copy link
Member

@mtdkei @kurudrive

以下 register_post_type の原文より

menu_icon string

The URL to the icon to be used for this menu. Pass a base64-encoded SVG using a data URI, which will be colored to match the color scheme — this should begin with 'data:image/svg+xml;base64,'.

Pass the name of a Dashicons helper class to use a font icon, e.g.'dashicons-chart-pie'.

Pass 'none' to leave div.wp-menu-image empty so an icon can be added via CSS.

Defaults to use the posts icon.


以下上記の Google 翻訳

メニューアイコン文字列

このメニューに使用されるアイコンの URL。データ URI を使用して、base64 でエンコードされた SVG を渡します。データ URI は、配色に合わせて色付けされます。これは、「data:image/svg+xml;base64,」で始まる必要があります。

フォント アイコンを使用するには、Dashcons ヘルパー クラスの名前を渡します。「dashicons-chart-pie」。

'none' を渡すと div.wp-menu-image が空のままになり、CSS 経由でアイコンを追加できるようになります。

デフォルトでは投稿アイコンが使用されます。


・・・とあるので最低限 'none' は許可したほうが良いような気がしますがいかがでしょうか?

@mtdkei
Copy link
Contributor Author

mtdkei commented Apr 26, 2024

@drill-lancer
ご確認ありがとうございます。
noneが入るようにしました。

@drill-lancer
Copy link
Member

@mtdkei
確認しました。特に問題は感じませんでした。


2人目確認お願いします。

@drill-lancer drill-lancer changed the title [ カスタム投稿タイプ設定 ]Menu Icon設定を追加 【2人目確認待ち】[ カスタム投稿タイプ設定 ]Menu Icon設定を追加 Apr 26, 2024
@kurudrive kurudrive changed the title 【2人目確認待ち】[ カスタム投稿タイプ設定 ]Menu Icon設定を追加 【2人中確認待ち】[ カスタム投稿タイプ設定 ] Menu Icon設定を追加 Apr 26, 2024
@kurudrive
Copy link
Member

確認しまっする

@kurudrive
Copy link
Member

@mtdkei ありがとうございます。えーくせれんとー!

ですが...

これテストいらないかな(・w・;

カスタムフィールドに保存した値をそのまま register_post_type() のパラメーターにわたすだけなので...。

で、ユニットテストは今回追加や変更したメソッドの返り値が想定した値を返すかどうかのテストなので、今回記載した内容だとテスト用につくったメソッドの返り値をテストしてるので残念ながら意味がないような空気を感じます(・w・;

あえてやるなら、入力された値を保存する前の段階で有効な値以外無害化するメソッドを作って、
そのメソッドが正常に動作するかどうか...だったら最初からデフォルトのエスケープ関数使えばいいし、今回その手前の JS で弾いてる( Good Job )ので...
テスト内で

  1. カスタム投稿タイプを登録する register_post_type() 走らせる
  2. 管理バーメニューの変数取得する
  3. その中身に今回追加したダッシュアイコンが含まれてるかどうか...

みたいな感じだけど...そもそもその前の投稿タイプが正常に登録されてるかどうかのテストから書かないといけなくなるし、今回の処理は冒頭述べた通り保存値をそのまま投げるだけなので、特にテスト書かなくても挙動に違いが出るわけではないので、テストはナシでOKデス。

でも実装内容&テストを書こうとした心意気は非常に素晴らしいデス!

@kurudrive kurudrive changed the title 【2人中確認待ち】[ カスタム投稿タイプ設定 ] Menu Icon設定を追加 【2人目確認中】[ カスタム投稿タイプ設定 ] Menu Icon設定を追加 Apr 26, 2024
@mtdkei
Copy link
Contributor Author

mtdkei commented Apr 30, 2024

@kurudrive
おっしゃる通り、保存値を渡すだけなので、そういう場合はテストが必要なわけではないのですね。
こちらのテストは削除しようと思いますがいかがでしょう?

@kurudrive
Copy link
Member

@mtdkei はい、せっかく追加していただいてすみませんが今回のケースは削除でよろしくお願いいたします(汗

@kurudrive kurudrive changed the title 【2人目確認中】[ カスタム投稿タイプ設定 ] Menu Icon設定を追加 [ カスタム投稿タイプ設定 ] Menu Icon設定を追加 Apr 30, 2024
@mtdkei
Copy link
Contributor Author

mtdkei commented Apr 30, 2024

@kurudrive @drill-lancer
ご確認ありがとうございました。
お二人に確認してもらったので私の方でマージしても大丈夫でしょうか?

@kurudrive kurudrive merged commit 2cc8ca7 into master Apr 30, 2024
3 checks passed
@kurudrive kurudrive deleted the add/custom-post-setting-icon branch April 30, 2024 05:22
@kurudrive
Copy link
Member

@mtdkei はい!ありがとうございました!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants