WordPressの愚痴を書いた日記

ただの愚痴だよ

Gutenbergは本当にクソですよ、本当に。
何がクソってフックかけて操作できないからだよ。

Gutenbergって、投稿画面の上と右にそれぞれ色んな機能をもった管理バーがあるんですよ。

赤枠で囲ってる部分ね。
この部分、4.X系の時はfunctions.phpでフックかければ色々できたんですよ。
それが、5.X系になった途端にできなくなってしまったという。

なぜか…いやぼくもようわかってないのですが、多分主な構成がjsになったからじゃないかな。
どうやらWordPressの新エディタであるGutenbergは、ブロックとか諸々がReactで生成されているらしいのです。
つまり、jsでできてるってことですかね。
多分非同期での処理とかREST APIの実装とかそういうのを考慮してのことなのではないかとは思う。

これのせいでPHPによる操作、つまりはフィルターフックとかアクションフックとかなんかそういうのでわちゃわちゃできなくなってしまった模様。

「プレビューボタンを消して!」とか
「文書で不必要なものを削除して!」とか

そういうことができねえ!!!

ただ、別にできねえってわけじゃあなかったりする。
消すだけならぶっちゃけCSS使って無理やり削除することもできる。
ボタンの追加なら基本部分が全部jsでできてるわけだから、それで操作したりできる。

作業は100%完了したのですが、希望が見える90%ぐらいまでイライラしながら作業してました。
ほんとクソって思った。

希望が見えたのは「wp.domReady」という存在を見つけた瞬間。
これ、エディタを操作するために用意されてるらしく、要は「WordPressのDOMが用意されました」っていう瞬間を捉えられる。
つまり、これを使えば「WordPressが用意されたら指定のjQueryを発火させる」ことができる。

具体的には、wp.domReadyを起点にしてbeforeでプレビューボタンをもいっこつけることができるし、
removeで「パーマリンク」を削除することもできる。

cssでは限界があって、「テキスト設定という文字を持つDOM要素」とかって指定ができない。
jsは恐ろしいことにその辺もなんとかできてしまうため、超優秀なんですなぁ!

ということで解決案見つけてから即終了。
最後の10%ぐらいは晴れ晴れとした気持ちで仕事を終えることができました。

まあアレだよ、90%ぐらい無茶振りだろとか考えてたけど、終わってみれば知見が増えたとも言えるんだよ。
後付だけど。

マジで許さねえからな、昨日の残業3時間分返せよ。

関連記事

デフォルト画像
2018.11.30
複数行の文末3点リーダー省略「line-clamp」で省略がされないバグ

line-clamp 仕事で憤慨したので珍しく技術エントリです。 世の中のニュースサイトとかブログサイトでは、度々「文末省略」が用いられます。 ググればいくらでも出てくる、text-overflowとかのことです。 これを使えば文末に3点リーダーを持ってきて、文章を省略することができます。 1行ならな! 2行以上になると、また別のプロパティを用いる必要が出てきます。 それが「line-clamp」。 -webkit-line-clamp: 3; ってのとそれ専用のプロパティを指定してあげると、line-clampの数の行で3点リーダー省略してくれます。 超有能。 しかしやはり制約はつきもので、webkit系ということもあってかIEやFirefox(?)などでは使えません (火狐は違ったかも) それに正直使用は推奨しないのがこれのビッグ・問題点です。 なぜならおそらくは今後制定されることのないプロパティだからー! ほぼ仕様版的な感じで、なおかつもう開発されることはないと思ったほうがいいです。 なので人間ならおとなしくPHPとかJSで区切るようにしましょう。 どっちもある程度の制約もありますが、ちゃんとプログラムでやったほうがいいよ。 【本題】line-clampで区切れない場合がある まずはこちらをご覧ください。 See the Pen line-clampで区切れない場合があることの説明 by 【LIGHT WINGER】 saiko (@saikofall-the-typescripter) on CodePen. このコードを簡単に説明すると ・メニューの切り替えタブと、中身のタブがある ・タブ1/2/3をクリックすると、対応した中身タブの表示が切り替わる っていうだけのものです。 使い道としては、ちゃんとデザインすればタブ切り替えメニューになったりします。 最近だとサイドバーに表示するミニランキングとかそういうの? さてここで本題、見りゃわかるんですが、タブ2をクリックして表示させますと、なぜかline-clampが効いてない状態でタブが表示されます。 もちろん、3つのタブすべてに同じcssを適用しており、理想の表示としてはタブ1のようになるものとします。 で、これを調べてたのですが、どうもwebkit系特有のバグ?だそうですね。 というわけで下記の2ページを参照。 マルチラインのラインクランプ(省略記号)は、私は、H3タグにこのクラスを適用 -webkit-line-clamp is not respected when visibility is hidden どちらも英語ページですが(上のは無理くり日本語翻訳されたもの)、言ってることはひとつです。 どうやら、line-clampは再描画?が上手くされないらしいです。 今回上のメニュー切り替えでは、隠れているものには「visibility:hidden」が設定されています。 それを切り替えタブクリックでvisibleにしているわけですね。 ですのでレンダリング時点でvisibleがhiddenしてるってのが原因だそうです。 これはwebkitのバグとして認められているのでどうしようもありません。 諦めろん。 ただし、解決策がないわけではなく、その要素を「hide().show()」とかで再描画すると直ります。 だから開発者ツールでline-clampを付けたり消したりするとなぜか直るっていう現象が起こったりするわけですが。 やってはないんですが、もしかしたらvisibilityじゃなくてdisplay:noneとかなら影響が出ないかもしれませんね。 アレも多分再描画だし。 でも色々とcssの動きが面倒になるのでやっぱりhideとshowとかで再描画させてあげたほうが楽かも? クソ雑魚js使いなので正直正しいかもわからんっす。 ぐち ぼく思うんですけど、そもそも3点リーダーの省略やめようぜって。 だってアレ面倒なだけじゃないですか。 css → できないのとできるのが多すぎ、そもそも制約デカすぎ php → 文字数制限があって日本語だと微妙、バイト制限でやっても結局多少のズレは発生する js  → 重すぎ、一番綺麗にできるけど負荷が半端ないので現実的じゃない っていう問題児なので、もし省略を誰かに頼むときは 「なんかこう、下のほうがグラデーションで消えてく感じで省略してほしい」 って頼みましょう。 下白のグラデ掛けるだけでなんとかなるので作るほうとしては非常に楽です。 あとこれは個人的な意見ですが、見栄えが「...」よりもグラデでスッと消えたほうがいいと思います。 それでは今日はここらでサヨウナラー

デフォルト画像
2019.08.27
親知らずが虫歯になったらしいですよ

クソ痛え 歯がめっちゃ痛い。土曜日からもうわけわからんぐらい痛い。でも寝れるからオッケーとか思ってたら痛みが悪化した。 なんだこれ 原因は親知らず 痛みに耐えかねて、午後から歯医者に行きました。お仕事するのも面倒なので、とっとと午後半休貰ってゴーゴー歯医者。 会社の人に、「ここがキレイで新しげで先生がオラオラしてる」って話を聞いた歯医者へ。 行ったのはここなんですけど、確かにめっちゃ内装キレイで機能的なとこでした。そもそもここビルが新しい感じでめちゃくちゃキレイなんですよね。弊社とは全く違くて羨ましいですね…。 初めてレントゲンを撮りました、歯の。ぼくの周りをぐるぐる回ってましたけど、アレで3Dレントゲンかなんか撮れたりするんですかね。「高級そうな機械だなー」としか考えてませんでしたけど。 レントゲンを撮った結果、親知らずが中々の虫歯っぷりを見せていたことが原因のようでした。神経まで達して、それで痛みが発生したんだとかなんとか。 嫌になるくらい痛いですが、とりあえずの応急処置としてお薬をいただいてきました。これで安心!というわけではなく、やはり親知らずくんは抜かないといけないようです。まだ抜いたことがないのですが、先生に妙に脅されたことが記憶に残っています。そんな痛いの? 9月13日!!! 抜歯を行うのは9月13日とかなんとか。土日を挟む理由は、いわずもがな…。 金曜の夕方に会社を抜け出して抜歯をして戻るというエクストリーム抜歯クエストが始まります。果たしてぼくは生きて帰宅することができるのか?(帰社とも言う) 乞うご期待! それでは今日はここらでサヨウナラー

2020.01.23
ステージアップしてきた #WACCA

久々に長時間音ゲーやった waccaくんがとうとう大型アプデ入ったし、ということで早速ゲーセン行ってきました。 流石に初日だしwaccaプレイヤー勢揃いだろ!と勇み足で行ったnamcoには一人のプレイヤーが遊んでるだけでした…。みんなどこへいった。見送られることもなく。 新曲もかなり入ったわけですが、今日はそれよりも重要な「ステージアップ」があります。なんだかんだと実装されておらず、グレーアウトしていたステージアップトライアルくん。とうとう名前が短くなり実装です。 要は段位制度で、決められた3曲を連続でプレイし、条件をクリアすることでその段位に認定されるというもの。この制度、マウントを取りたがる音ゲーマーには人気のコンテンツのはずなのですが、中々実装されてるものは少なかったりしますね。 下位はむしろできない可能性があるので、ステージⅨからプレイしていきました。ステージⅨからはGreat以下を一定値出すと強制終了になるため、基本的には最高のパフォーマンスを出し続ける必要があります。まあBEMANIシリーズ以外の音ゲーって判定はゆるゆるな部分があるので条件としては妥当でしょう。 裏段位的な扱いとして、ステージⅩをクリアするとⅪが、それをクリアでⅫ、最後はXIIIまで解放されます。今日見てきた…というかTwitterとかにも散々上がってますが、最後はNo.1→FD→インフレを70回未満でクリアです。無理。 今日の成果 3時間ほど頑張った甲斐もあって、なんとかⅫまでは終わらせてきました。 ポセイドンくんが嫌いすぎる都合上、他でカバーしてのクリアとなりました。ミス50ってなんなん…アフロミス10未満でクリアすることなったわ。 初日なので、この程度のスコアでも全国ランキング入れるぞ!一瞬でも入ったという快感を得られるのは今日だけだぞ!!頑張れwaccaプレイヤー! ちなみに、到達した段位のアイコンがプレイヤーアイコンに付与されます。 かわいい。 いやでも、段位取ったはずなのに精度が低いせいですごくダサい感じになってしまってる…。取れたのはいいんだけどなんとなく金色じゃないのが目につく…。(一定精度を誇ると金冠になる、多分ステージⅫとかでもある) 明日からは空いた時間でチビチビ新曲をプレイしていく予定です。16曲もあるし、結構長く遊べそう。