質問編集履歴

1

原因がわかりましたので追記しました。が、理由がわかりません。

2021/02/22 06:02

投稿

hanaaki
hanaaki

スコア1

test CHANGED
@@ -1 +1 @@
1
- wordpressのユーザー定義関数で意図しない出力結果になる
1
+ wordpressの条件分岐ユーザー定義関数で意図しない出力結果になる理由を教えてください
test CHANGED
@@ -10,6 +10,8 @@
10
10
 
11
11
  tagページ(categoryページも同様)において意図しない出力をしてしまいます。
12
12
 
13
+ ※理由はわかりませんが原因が分かりましたので、追記しました。
14
+
13
15
 
14
16
 
15
17
  ▼function.php
@@ -82,4 +84,146 @@
82
84
 
83
85
 
84
86
 
87
+ ///02/22追記
88
+
89
+
90
+
91
+ 理由はわからないのですが、
92
+
93
+ 英語のタイトル($name_en)と一緒に作成していた日本語のタイトル($name_jp)が
94
+
95
+ 同じ条件分岐であったため競合しているようでした
96
+
97
+ ×タグの名前+tagと表示→○$name_enしか出力していないのに$name_jp+$name_enと表示
98
+
99
+
100
+
101
+ ▼改善前
102
+
103
+ ▼function.php
104
+
105
+ ```PHP
106
+
107
+ //条件分岐
108
+
109
+ function tit($tit){
110
+
111
+ //英語
112
+
113
+ if (is_category()) {
114
+
115
+ $name_en = 'category';
116
+
117
+ } elseif (is_tag()) {
118
+
119
+ $name_en = 'tag';
120
+
121
+ } else {
122
+
123
+ $name_en = 'hoge';
124
+
125
+ }
126
+
127
+ //日本語
128
+
129
+ if (is_category()) {
130
+
131
+ $name_jp = 'カテゴリー';
132
+
133
+ } elseif (is_tag()) {
134
+
135
+ $name_jp = 'タグ';
136
+
137
+ } else {
138
+
139
+ $name_jp = 'ほげ';
140
+
141
+ }
142
+
143
+ //定義
144
+
145
+ if ($tit == 'en') {
146
+
147
+ echo $name_en;
148
+
149
+ }
150
+
151
+ if ($tit == 'jp') {
152
+
153
+ echo $name_jp;
154
+
155
+ }
156
+
157
+ }
158
+
159
+ ```
160
+
161
+
162
+
163
+ 日本語の設定をif ($tit == 'jp') {内に入れたら問題なく動作しました。
164
+
165
+
166
+
167
+ ▼改善前
168
+
169
+ ▼function.php
170
+
171
+ ```PHP
172
+
173
+ //条件分岐
174
+
175
+ function tit($tit){
176
+
177
+ //英語
178
+
179
+ if (is_category()) {
180
+
181
+ $name_en = 'category';
182
+
183
+ } elseif (is_tag()) {
184
+
185
+ $name_en = 'tag';
186
+
187
+ } else {
188
+
189
+ $name_en = 'hoge';
190
+
191
+ }
192
+
193
+ //定義
194
+
195
+ if ($tit == 'en') {
196
+
197
+ echo $name_en;
198
+
199
+ }
200
+
201
+ if ($tit == 'jp') {
202
+
203
+ //日本語
204
+
205
+ if (is_category()) {
206
+
207
+ $name_jp = 'カテゴリー';
208
+
209
+ } elseif (is_tag()) {
210
+
211
+ $name_jp = 'タグ';
212
+
213
+ } else {
214
+
215
+ $name_jp = 'ほげ';
216
+
217
+ }
218
+
219
+ echo $name_jp;
220
+
221
+ }
222
+
223
+ }
224
+
225
+ ```
226
+
227
+
228
+
85
- 改善点等お教えください。
229
+ 理由がわかれば教えください。