teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

改めて前提と検討した内容をまとめ直し

2021/05/04 01:03

投稿

ito_yu
ito_yu

スコア5

title CHANGED
File without changes
body CHANGED
@@ -14,6 +14,24 @@
14
14
 
15
15
  なお、下記のコードはwordpressを使っていない方でも理解できるように~~雑に~~簡略化して書いたコードです。
16
16
 
17
+
18
+ 以下追記
19
+ ---
20
+ 分かりにくかった為、箇条書きでまとめてみました。
21
+
22
+ ■前提
23
+ 1.wordpressの仕様として、各プラグインディレクトリ内(mu-plugin,plugin)のphpが読み込まれてから『pluggable.php』が読み込まれる。この時、pluggable.php内では既に定義済みの関数を定義しない様に実装されている。
24
+ 2.上記プラグインディレクトリ内のphpの中で、『pluggable.php』内の関数を使いたい。(該当ソースの『myOverride.php』に定義されているfunction aにあたります。)
25
+ 3.『pluggable.php』などWordpressのコアファイルに事前に実装されているものは、プラグインディレクトリ内を除いて、ソースの改変をしたくない。(今後のバージョンアップ時の保守に影響するため)
26
+
27
+
28
+ ■検討した内容
29
+ 『pluggable.php』に記載されているfunction aのソースをプラグイン内のファイルで先に定義しようと考えました。
30
+ しかし、プラグイン内でfunction aを使いたいという問題が解決する代わりに、今後Wordpress自体の更新により『pluggable.php』内のfunction aが更新された場合、そのソースをプラグイン内のfunction a定義箇所にマージする必要が発生します。
31
+
32
+ 可能であれば、Wordpressの更新時(『pluggable.php』のfunction aに変更があった際)にプラグインを修正することは避けたいです。
33
+
34
+ これは個人的な考えですが、『pluggable.php』の関数を予め定義できる理由として、『事前に使いたい為』ではなく『メソッドの挙動を変えたい為』の仕様と考えており、プラグイン内で利用したいという理由で同一のソースコードをプラグイン内でも定義するというのは、良いやり方ではないと考えています。
17
35
  ### 該当のソースコード
18
36
 
19
37
  ```php

1

日本語を修正

2021/05/04 01:03

投稿

ito_yu
ito_yu

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  私は、wordpressをベースとしたCMSシステムの提供を行なう企業に務めています。
3
3
  今回wordpressコアのバージョンアップを行うにあたって、現環境のwordpressのソースコードをかなり書き換えていたため、
4
- 今回のバージョンアップ改修を期に今後はコアへの直接の改修を無くし、独自に作成するプラグイン内でフックを使って既存の仕様を再現できるよう実装を行なっています。
4
+ のバージョンアップ改修を期に今後はコアへの直接の改修を無くし、独自に作成するプラグイン内でフックを使って既存の仕様を再現できるよう実装を行なっています。
5
5
 
6
6
  そこで設計について皆様の意見をお聞かせ頂きたいと思います。
7
7