質問編集履歴
3
文章をわかりやすく更新いたしました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
同じDB内の別サイトから、カスタムフィールドの画像などを読み込んだ際のパスを変更したい
|
test
CHANGED
@@ -1,22 +1,26 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
|
3
|
-
|
3
|
+
同じDB内の別サイトから、カスタムフィールドの画像などを読み込んだ際のパスを変更したい
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
下記のコードで、テキストなどの読み込みは問題なくできているのですが、
|
8
|
-
|
9
|
-
|
7
|
+
メインのWP(A)と同じドメイン内のサブディレクトリに、別でサブのWP(B)をインストールしています。DBも同じで、接頭辞だけが違います。
|
10
|
-
|
11
|
-
この部分を変更したいです。
|
12
8
|
|
13
9
|
|
14
10
|
|
15
|
-
こ
|
11
|
+
そこで、サブのWP(B)の一部に、メインのWP(A)の情報の一部を読み込ませたく、下記のコードでデータを取得しています。
|
16
12
|
|
17
|
-
アップロードディレクトリなどは変更する必要がありそう‥などの情報は得られましたが、
|
18
13
|
|
14
|
+
|
19
|
-
|
15
|
+
テキストなどの読み込みはメインのWP(A)のものを問題なく取得できているのですが、
|
16
|
+
|
17
|
+
カスタムフィールドの画像のパスなどが、メインのWP(A)のものではなく、サブのWP(B)のサイトのものになってしまっており、この部分を変更する方法がわからず困っております。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
こちらのウェブページ(https://2inc.org/blog/2015/10/23/5059/)を参考にさせていただき、
|
22
|
+
|
23
|
+
アップロードディレクトリなどを書き換える必要がありそう‥と思い、functions.php に下記のコードを追加したりしてみましたが、画像のパスには変化はありませんでした。
|
20
24
|
|
21
25
|
|
22
26
|
|
2
functions\.php に「_switch_blog_upload_dir」というアップロードディレクトリを書き換える関数を追加し、add_filter でフックさせてみましたが変わらず
test
CHANGED
File without changes
|
test
CHANGED
@@ -56,9 +56,9 @@
|
|
56
56
|
|
57
57
|
$old_prefix = $wpdb->set_prefix($temp_prefix);
|
58
58
|
|
59
|
-
|
59
|
+
wp_cache_init();
|
60
60
|
|
61
|
-
|
61
|
+
add_filter( 'upload_dir', '_switch_blog_upload_dir');
|
62
62
|
|
63
63
|
|
64
64
|
|
@@ -90,6 +90,34 @@
|
|
90
90
|
|
91
91
|
wp_cache_init();
|
92
92
|
|
93
|
+
remove_filter( 'upload_dir', '_switch_blog_upload_dir' );
|
94
|
+
|
93
95
|
?>
|
94
96
|
|
95
97
|
```
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
###functions.php
|
102
|
+
|
103
|
+
```
|
104
|
+
|
105
|
+
function _switch_blog_upload_dir( $upload_dir ) {
|
106
|
+
|
107
|
+
$pattern = '/^(https?:\/\/[^\/]+)/';
|
108
|
+
|
109
|
+
$replacement = home_url();
|
110
|
+
|
111
|
+
$upload_dir['url'] = preg_replace( $pattern, $replacement, $upload_dir['url'] );
|
112
|
+
|
113
|
+
$upload_dir['baseurl'] = preg_replace( $pattern, $replacement, $upload_dir['baseurl'] );
|
114
|
+
|
115
|
+
$upload_dir['path'] = preg_replace( $pattern, $replacement, $upload_dir['path'] );
|
116
|
+
|
117
|
+
$upload_dir['basedir'] = preg_replace( $pattern, $replacement, $upload_dir['basedir'] );
|
118
|
+
|
119
|
+
return $upload_dir;
|
120
|
+
|
121
|
+
}
|
122
|
+
|
123
|
+
```
|
1
コード部分の表記を修正いたしました
test
CHANGED
File without changes
|
test
CHANGED
@@ -27,6 +27,8 @@
|
|
27
27
|
|
28
28
|
|
29
29
|
###該当のソースコード
|
30
|
+
|
31
|
+
```
|
30
32
|
|
31
33
|
<?php
|
32
34
|
|
@@ -89,3 +91,5 @@
|
|
89
91
|
wp_cache_init();
|
90
92
|
|
91
93
|
?>
|
94
|
+
|
95
|
+
```
|