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

質問編集履歴

1

function.phpを変更してみました

2018/07/18 02:10

投稿

heyhey...
heyhey...

スコア40

title CHANGED
File without changes
body CHANGED
@@ -24,4 +24,62 @@
24
24
  echo 'no-category';
25
25
  }
26
26
  }
27
- ```
27
+ ```
28
+
29
+ 下記のようにfunctions.phpにもう1つのフィールドを書き込むと、そちらのクラスも付与されましたが、2つともクラスが適用されてしまいます。
30
+
31
+ ```ここに言語を入力
32
+ function cate_class() {
33
+ $custom_cate_man = post_custom( 'カテゴリ1' );
34
+ if ( $custom_cate_man == '選択肢A' ) {
35
+ echo 'cateA';
36
+ } else if ( $custom_cate_man == '選択肢B' ) {
37
+ echo 'cateB';
38
+ } else {
39
+ echo 'fuka';
40
+ }
41
+ $custom_cate_woman = post_custom( 'カテゴリ2' );
42
+ if ( $custom_cate_woman == '選択肢A' ) {
43
+ echo 'cateA';
44
+ } else if ( $custom_cate_woman == '選択肢B' ) {
45
+ echo 'cateB';
46
+ } else {
47
+ echo 'no-category';
48
+ }
49
+ }
50
+
51
+ ```
52
+
53
+ テンプレートの記述
54
+ ```ここに言語を入力
55
+ <!--カテゴリ1の出力用-->
56
+ <span class="<?php echo cate_class('man') ?>">
57
+ <?php
58
+ $field = get_field_object('カテゴリ1');
59
+ $value = get_field('カテゴリ1');
60
+ $label = $field['choices'][ $value ];
61
+ ?>
62
+ <?php echo $label; ?></span>
63
+
64
+
65
+ <!--カテゴリ2の出力用-->
66
+ <span class="<?php echo cate_class('woman') ?>">
67
+ <?php
68
+ $field = get_field_object('カテゴリ2');
69
+ $value = get_field('カテゴリ2');
70
+ $label = $field['choices'][ $value ];
71
+ ?>
72
+ <?php echo $label; ?></span>
73
+ ```
74
+
75
+ 出力されたソース
76
+ ```ここに言語を入力
77
+ <!--カテゴリ1の出力用-->
78
+ <span class="cateAcateB">選択肢A</span>
79
+
80
+ <!--カテゴリ2の出力用-->
81
+ <span class="cateAcateB">選択肢B</span>
82
+ ```
83
+
84
+ これを、カテゴリ1の場合はカテゴリ1だけのクラスを、
85
+ カテゴリ2の場合はカテゴリ2だけのクラスを付与したいのですが、どうしたら良いでしょうか。