WordPressテーマ「Cocoon」のバグを直したという実績ができました✨

Wordpress

今日は面白い実績を紹介しようと思います!

皆さんは、Wordpressの無料テーマ「Cocoon」をご存知ですか?

僕も実務で結構使っていたりするのですが、
そのWordpressテーマで、不具合が1つあったんです。

そして、その不具合をまだ誰も直していなかったようだったので、

僕が直しました!笑

それで、修正したコードを
作者のわいひらさんに編集リクエスト(pull request)を送ったら、

なんと採用されまして、
「ご協力」の欄に名前が載っていました!🤣🤣
という感じで、僕はWordpressのテーマの不具合も直せちゃうという実績ができて嬉しいです笑✨✨

それと同時に、
多くの方に貢献できたのかもという実感もあって、
やって良かったな〜と思っています。

WordPressの専門的なカスタマイズでお悩みの方は、
もしかしたら何かの力になれるかもしれません☺️

どこが不具合だったのか

このブログでは、少し技術的な部分も解説していきます。

今回の問題は、カスタムタクソノミーのターム編集画面にありました。

具体的には、タグタイトルタグ本文アイキャッチメタディスクリプションメタキーワードnoindex を編集しても更新されない不具合でした。

なぜこうなっているかというと、ここの更新処理の仕組みとして、
Cocoonの親テーマ内の「lib/category-tag.php」に処理が書かれています。

その中を見てみると、修正前のコードでは、post_tag限定で更新処理をしていました。

以下のような条件分岐です。

if (isset($_POST['taxonomy']) && ($_POST['taxonomy'] === 'post_tag')) {

ここの ($_POST[‘taxonomy’] === ‘post_tag’) が重要で、タクソノミーがpost_tagの時、
つまり、デフォルトである「投稿」のタグの編集画面では更新ができますが、

つまり、カスタムタクソノミーを自分で定義して、そのタームの情報を編集したい時に、
それができなくなってしまうのです。。

例えば、以下の画面のように、
「テスト1」というカスタム投稿タイプを作って、
「テストタクソノミー1」というカスタムタクソノミーを作ります。

その「テストタクソノミー1」でタグ本文などを編集しようと思っても、
「変更を保存」ボタンを押してもなぜか反映されないようになっていました。

でも、ここの処理を以下のように余計な条件を減らすことで、

if (isset($_POST['taxonomy']) {

上手く更新できるようになりました!ということです。

このような感じで変更し、CocoonのGithubレポジトリにプルリクエスト(編集提案)を送ることで、
無事編集が採用されたという経緯でした!

参考になれば幸いです✨

追記:Cocoon2.4.1の修正に取り入れて頂きました

2022年2月1日に、Cocoon2.4.1がリリースされまして、
その修正の中に、私が変更した部分も取り入れて頂きました!

本当に感謝です✨

Cocoon 2.4.1公開。Twitchフォローボタンの追加。WP 5.9関係の不具合修正など。
Cocoon 2.4.0からの変更点。 機能追加 Twitchのフォローボタンを追加 Twitchのフォローボタン要望があったので追加しました。 変更 投稿がパスワードを保護されている場合はコメントも表示しない 投稿にパスワード設定がされて

コメント

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