質問編集履歴
6
事態の進捗
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
bbPressのフィールドカスタマイズ
|
test
CHANGED
File without changes
|
5
事態の進捗がありました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,233 +1,99 @@
|
|
1
|
-
「bbpress」にて「bbpressでのトピック」にカスタムフィールドを投稿できるように
|
2
|
-
|
3
|
-
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、「wordpressのトピック」にしか結果が反映されず、bbPressの投稿フォームに反映させることはそもそも不可能なのでしょうか?自動登録したユーザにのみ特定の項目を入力させる用途に使いたいとかんがえております。
|
1
|
+
「bbpress」にて「bbpressでのトピック」にカスタムフィールドを投稿できるようにさせたいです。
|
4
2
|
|
5
3
|
|
6
4
|
|
7
|
-
参考にしたwebサイト:https://gokansoichiro.com/blog/bbpress-custom-fields/
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
そこで以下のコードを
|
12
6
|
|
13
7
|
|
14
8
|
|
15
9
|
```ここに言語を入力
|
16
10
|
|
17
|
-
|
11
|
+
add_action ( 'bbp_theme_before_topic_form_content', 'bbp_extra_fields');
|
18
12
|
|
13
|
+
function bbp_extra_fields() {
|
19
14
|
|
15
|
+
|
20
16
|
|
21
|
-
|
17
|
+
$html = "";
|
22
18
|
|
23
|
-
|
19
|
+
//テキスト項目
|
24
20
|
|
25
|
-
|
21
|
+
$html .= '<input name="input_name" type="text" value="">';
|
26
22
|
|
27
|
-
|
23
|
+
//テキストボックス項目
|
28
24
|
|
29
|
-
|
25
|
+
$html .= '<textarea name="textarea_name" cols=10></textarea>';
|
30
26
|
|
31
|
-
|
27
|
+
|
32
28
|
|
29
|
+
echo $html;
|
33
30
|
|
34
|
-
|
35
|
-
// Exit if accessed directly
|
36
|
-
|
37
|
-
defined( 'ABSPATH' ) || exit;
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
?>
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
<ul id="bbp-topic-<?php bbp_topic_id(); ?>" <?php bbp_topic_class(); ?>>
|
46
|
-
|
47
|
-
<li class="bbp-topic-title">
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
<?php if ( bbp_is_user_home() ) : ?>
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
<?php if ( bbp_is_favorites() ) : ?>
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
<span class="bbp-row-actions">
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
<?php do_action( 'bbp_theme_before_topic_favorites_action' ); ?>
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
<?php bbp_topic_favorite_link( array( 'before' => '', 'favorite' => '+', 'favorited' => '×' ) ); ?>
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
<?php do_action( 'bbp_theme_after_topic_favorites_action' ); ?>
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
</span>
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
<?php elseif ( bbp_is_subscriptions() ) : ?>
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
<span class="bbp-row-actions">
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
<?php do_action( 'bbp_theme_before_topic_subscription_action' ); ?>
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
<?php bbp_topic_subscription_link( array( 'before' => '', 'subscribe' => '+', 'unsubscribe' => '×' ) ); ?>
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
<?php do_action( 'bbp_theme_after_topic_subscription_action' ); ?>
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
</span>
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
<?php endif; ?>
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
<?php endif; ?>
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
<?php do_action( 'bbp_theme_before_topic_title' ); ?>
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
<a class="bbp-topic-permalink" href="<?php bbp_topic_permalink(); ?>"><?php bbp_topic_title(); ?></a>
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
<?php do_action( 'bbp_theme_after_topic_title' ); ?>
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
<?php bbp_topic_pagination(); ?>
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
<?php do_action( 'bbp_theme_before_topic_meta' ); ?>
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
<?php echo get_field( 'band_name' ); ?> //<=ココに挿入
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
<p class="bbp-topic-meta">
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
<?php do_action( 'bbp_theme_before_topic_started_by' ); ?>
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
<span class="bbp-topic-started-by"><?php printf( esc_html__( 'Started by: %1$s', 'bbpress' ), bbp_get_topic_author_link( array( 'size' => '14' ) ) ); ?></span>
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
<?php do_action( 'bbp_theme_after_topic_started_by' ); ?>
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
<?php if ( ! bbp_is_single_forum() || ( bbp_get_topic_forum_id() !== bbp_get_forum_id() ) ) : ?>
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
<?php do_action( 'bbp_theme_before_topic_started_in' ); ?>
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
<span class="bbp-topic-started-in"><?php printf( esc_html__( 'in: %1$s', 'bbpress' ), '<a href="' . bbp_get_forum_permalink( bbp_get_topic_forum_id() ) . '">' . bbp_get_forum_title( bbp_get_topic_forum_id() ) . '</a>' ); ?></span>
|
160
|
-
|
161
|
-
<?php do_action( 'bbp_theme_after_topic_started_in' ); ?>
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
<?php endif; ?>
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
</p>
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
<?php do_action( 'bbp_theme_after_topic_meta' ); ?>
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
<?php bbp_topic_row_actions(); ?>
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
</li>
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
<li class="bbp-topic-voice-count"><?php bbp_topic_voice_count(); ?></li>
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
<li class="bbp-topic-reply-count"><?php bbp_show_lead_topic() ? bbp_topic_reply_count() : bbp_topic_post_count(); ?></li>
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
<li class="bbp-topic-freshness">
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
<?php do_action( 'bbp_theme_before_topic_freshness_link' ); ?>
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
<?php bbp_topic_freshness_link(); ?>
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
<?php do_action( 'bbp_theme_after_topic_freshness_link' ); ?>
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
<p class="bbp-topic-meta">
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
<?php do_action( 'bbp_theme_before_topic_freshness_author' ); ?>
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
<span class="bbp-topic-freshness-author"><?php bbp_author_link( array( 'post_id' => bbp_get_topic_last_active_id(), 'size' => 14 ) ); ?></span>
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
<?php do_action( 'bbp_theme_after_topic_freshness_author' ); ?>
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
</p>
|
226
|
-
|
227
|
-
</li>
|
228
|
-
|
229
|
-
</ul><!-- #bbp-topic-<?php bbp_topic_id(); ?> -->
|
31
|
+
}
|
230
32
|
|
231
33
|
|
232
34
|
|
233
35
|
```
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
wp-content >plugins >bbpress >includes >topics >functions.php
|
40
|
+
|
41
|
+
上記ファイルに単純に追加することで、項目のカスタマイズ(表示)自体はできることがわかりました。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
参考にしたwebサイト:https://bbp-customize.com/add-post-item/
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
こちらのwebでは「function.php」としてしか表記されていませんが、これらのうちのひとつはどうやら
|
50
|
+
|
51
|
+
wp-content >plugins >bbpress >includes >topics >functions.php
|
52
|
+
|
53
|
+
を指しているものと思われます。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
次のステップとして、
|
58
|
+
|
59
|
+
```ここに言語を入力
|
60
|
+
|
61
|
+
add_action ( 'bbp_new_topic', 'bbp_save_extra_fields', 10, 1 );
|
62
|
+
|
63
|
+
add_action ( 'bbp_edit_topic', 'bbp_save_extra_fields', 10, 1 );
|
64
|
+
|
65
|
+
function bbp_save_extra_fields($topic_id = 0) {
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
if (isset($_POST) && $_POST['input_name']!='') {
|
70
|
+
|
71
|
+
//テキスト項目の保存
|
72
|
+
|
73
|
+
update_post_meta( $topic_id, 'input_name', $_POST['input_name'] );
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
if (isset($_POST) && $_POST['textarea_name']!='')
|
78
|
+
|
79
|
+
//テキストボックス項目の保存
|
80
|
+
|
81
|
+
update_post_meta( $topic_id, 'textarea_name', $_POST['textarea_name'] );
|
82
|
+
|
83
|
+
}
|
84
|
+
|
85
|
+
}
|
86
|
+
|
87
|
+
```
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
このような「項目を保存するためのコード」を追加したいのですが、同じPHPファイルでは
|
92
|
+
|
93
|
+
「重大なエラーが発生しました」
|
94
|
+
|
95
|
+
と怒られてしまいます。
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
何かご存じの方がいらっしゃいましたらご教示いただきたいです。
|
4
情報の具体的な追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
「bbpress」にて「bbpressでのトピック」にカスタムフィールドを投稿できるように表示させたいです。「Advanced Custom Fields」というpluginをインストールし、単純なフィールドを追加しました。「bbpressのトピック下」に表示させたいため、ACF側では「投稿タイプ」「等しく」「トピック」に設定しております。
|
2
2
|
|
3
|
-
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、「wordpressのトピック」にしか結果が反映されず、bbPressの投稿フォームに反映させることはそもそも不可能なのでしょうか?
|
3
|
+
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、「wordpressのトピック」にしか結果が反映されず、bbPressの投稿フォームに反映させることはそもそも不可能なのでしょうか?自動登録したユーザにのみ特定の項目を入力させる用途に使いたいとかんがえております。
|
4
4
|
|
5
5
|
|
6
6
|
|
3
意図とは異なる場所に表示されるようになりました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
「bbpress」にてカスタムフィールドを表示させたいです。「Advanced Custom Fields」というpluginをインストールし、単純なフィールドを追加しました。bbpressのトピック下に表示させたいため、「投稿タイプ」「等しく」「トピック」
|
2
|
-
|
3
|
-
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、結果
|
1
|
+
「bbpress」にて「bbpressでのトピック」にカスタムフィールドを投稿できるように表示させたいです。「Advanced Custom Fields」というpluginをインストールし、単純なフィールドを追加しました。「bbpressのトピック下」に表示させたいため、ACF側では「投稿タイプ」「等しく」「トピック」に設定しております。
|
2
|
+
|
3
|
+
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、「wordpressのトピック」にしか結果が反映されず、bbPressの投稿フォームに反映させることはそもそも不可能なのでしょうか?
|
4
4
|
|
5
5
|
|
6
6
|
|
2
問題についての詳細をより詳しく記述しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,14 @@
|
|
1
|
-
Advanced Custom Fieldsというpluginをインストールし、bbpressに
|
2
|
-
|
3
|
-
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、結果に反映されないか、重大なエラーが発生しましたとして表示されません。
|
1
|
+
「bbpress」にてカスタムフィールドを表示させたいです。「Advanced Custom Fields」というpluginをインストールし、単純なフィールドを追加しました。bbpressのトピック下に表示させたいため、「投稿タイプ」「等しく」「トピック」)に設定しております。
|
2
|
+
|
3
|
+
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、結果に反映されないか、重大なエラーが発生しましたとして表示されません。自分的には挿入する場所が間違っているのではないかとと思うのですが、どこに記載すればよいかわかりません。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
参考にしたwebサイト:https://gokansoichiro.com/blog/bbpress-custom-fields/
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
お知恵を拝借できれば幸いです。
|
4
12
|
|
5
13
|
|
6
14
|
|
1
説明の付加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
Advanced Custom Fieldsという
|
2
|
-
|
3
|
-
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分)挿入してみたのですが、結果に反映されない
|
1
|
+
Advanced Custom Fieldsというpluginをインストールし、bbpressにてカスタムフィールドを表示させたいため、
|
2
|
+
|
3
|
+
plugins > bbpress > templates > default > bbpress > loop-single-topic.phpに下記の通り(//<=ココに挿入という部分) <?php echo get_field( 'band_name' ); ?>というコードをいろんな場所に挿入してみたのですが、結果に反映されないか、重大なエラーが発生しましたとして表示されません。ACFにて該当のフィールドは作成済みで、(「投稿タイプ」「等しく」「トピック」)として設定しフィールド名にスペルミスなどもないことを確認しております。お知恵を拝借できれば幸いです。
|
4
4
|
|
5
5
|
|
6
6
|
|