こんにちは。
投稿編集時の自動修正は、wp-admin/js/editor.js(コードを読みやすいのはeditor.dev.js)によるものか、htmlの入れ子がおかしく、ブラウザ自身が書き換えてしまう場合の2通りがあり得ます。
どちらも、クライアントPC上で行われる処理であるため、基本的には修正されたものが、自動で行われたものか、手動で行われたものであるかを判別することは出来ません。
ちなみに、editor.jsによる修正は、編集モードの変更時、データの送信時に行われていた憶えがあります。
なるほど。少し考え方を変えなくてはいけないようですね・・・
実際に、現状行っている対策方法は編集画面を閉じた後(保存後)にもう一度編集画面を開き、自動修正をかけさせてしまう、と言うものです。要は承認前ならいくら修正しても問題ないので、承認前に自動修正させて保存すれば承認後に記事を開いても自動修正は入らないということですね。
ということは、例えば保存時に自動修正かけさせることができればもう一度開きなおす手間は発生しないですよね。
可能かどうか分かりませんが、通常修正を行った場合、本来の保存(更新)ボタンを「チェックする」などのボタンに変更し、ボタンを押すと保存をしつつもう一度編集画面を開く、再度編集画面が自動で開いた場合は本来の保存(更新)ボタンに戻す、なんて動作は難しいでしょうか?
ブラウザが処理を行っている以上、一度編集画面を開きなおさないと自動修正は発生しないですよね?ボタンを一度押しただけで「自動修正+保存」して管理画面に戻るのならその方が楽なのですけど・・・
こんにちはです。
可能かどうか分かりませんが、通常修正を行った場合、本来の保存(更新)ボタンを「チェックする」などのボタンに変更し、ボタンを押すと保存をしつつもう一度編集画面を開く、再度編集画面が自動で開いた場合は本来の保存(更新)ボタンに戻す、なんて動作は難しいでしょうか?
保存(更新)ボタンだけのフックは存在していなかった(2.7系くらい)と思いますので、本体を改編するか、保存のボックスごと自作して差し替えるかになると思います。
もう一度編集画面を開くのは、デフォルトと同じ動作なのでそのままで構いませんが、ボタンを戻すための処理は、なんらかの分岐処理が必要になります。個々の投稿・ページに関する情報なので、カスタムフィールドに何らかのフラグを立てておくのが、適切かとは思いますが、ロジック的にはちょっとめんどくさいかもしれません。
なるほど。
別枠で作った「チェック用」ボタンを枠ごと重ねてしまうのはありかもしれませんね。
あとは、「チェック」とか言いながら何もせずに編集画面が開きなおされるのは不自然なので、画面上は何も変わりがないのに編集画面を開きなおしても不自然さを感じない何かを考えなくてはなのですね(汗)
ブラウザ側で処理されているというのは正直想定外でした・・・まだまだ工夫が必要そうです。。。