質問編集履歴

3

文章をわかりやすく更新いたしました

2017/08/01 03:37

投稿

twilightranigh
twilightranigh

スコア9

test CHANGED
@@ -1 +1 @@
1
- WordPressで、同じDB内の別サイトから、カスタムフィールドの画像などを読み込んだ際のパスを変更したい
1
+ 同じDB内の別サイトから、カスタムフィールドの画像などを読み込んだ際のパスを変更したい
test CHANGED
@@ -1,22 +1,26 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- WordPressで、同じDB内の別サイトから画像などを読み込んだ際のパスなどを変更したい
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
- ちらhttps://2inc.org/blog/2015/10/23/5059/)を拝見
11
+ で、サブWP(B)の一部に、メンのWPAの情報の一部読み込ませたく、下記のコードでデータを取得ています。
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 でフックさせてみましたが変わらず

2017/08/01 03:37

投稿

twilightranigh
twilightranigh

スコア9

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
- //wp_set_wpdb_vars();
59
+ wp_cache_init();
60
60
 
61
- wp_cache_init();
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

コード部分の表記を修正いたしました

2017/07/28 11:18

投稿

twilightranigh
twilightranigh

スコア9

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
+ ```