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

回答編集履歴

1

フィルターの変更

2021/02/19 01:42

投稿

tegeken
tegeken

スコア13

answer CHANGED
@@ -1,9 +1,79 @@
1
+ 一度解決したと書きましたが、
1
- 自力解決しました。
2
+ やはり解決していせんでした。
3
+ KazuhiroHatanoさんのご指摘通りthe_contentを使った、
4
+ フィルターフックではダメでした。
2
5
 
3
- フィルターフクにつて調べていくうちに、
6
+ 出力バファを使
4
- ひょとしたら指定した固定ページの編集部分
7
+ 下記のようにadd_shortcodeを使固定ページに出力しました。
5
- なにか入力値がないといけないんじゃないかと思い
8
+ 今回の件で
6
- 適当な文字列を入力し更新すと思った結果になりました。
9
+ 関数で計算させショートコードで表示させフローの理解が進みました。
10
+ ありがとうございました。
11
+ 今後とも宜しくお願いします。
7
12
 
13
+ ```php
14
+ <?php
15
+ add_shortcode( 'miso_amount', 'miso_amount_calc' );
16
+ /* 味噌計算アプリ */
17
+ function miso_amount_calc() {
18
+ /* PHPで計算処理を組み込む */
19
+ if ( $_POST[ 'cal_bottom' ] == '計算' ) {
20
+ $misoVolume = $_POST[ "miso_volume" ];
21
+
22
+ $kouji = ( 0.6 * ( $misoVolume * 10 ) / 10 );
23
+ $soi = ( 0.4 * ( $misoVolume * 10 ) / 10 );
24
+ $drysoi = ( 0.2 * ( $misoVolume * 10 ) / 10 );
25
+ $awaseNijiru = ( 100 * $misoVolume );
26
+ $awaseSolt = ( 124 * $misoVolume );
27
+ }
28
+ ob_start();
29
+ ?>
30
+ <!-- 入力フォーム -->
31
+ <div class="container">
8
- 皆さんからのアドバイスでフィルターフックについて理解が進みました。
32
+ <div class="row">
33
+ <div class="col-md-8">
34
+ <h1>味噌分量計算表</h1>
35
+ <p>作りたい味噌の量を入力して[計算]ボタンを押してください。</p>
36
+ <form name="miso_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
37
+ <div class="form-group form-inline">
38
+ <lavel>作りたい味噌量:</lavel>
39
+ <input type="tel" name="miso_volume" id="input_area" class="form-control col-2" maxlength="3" />
40
+ Kg </div>
41
+ <button type="submit" name="cal_bottom" class="btn btn-secondary btn-block col-2 form-control" value="計算">計算</button>
42
+ </form>
43
+
44
+ <!-- 計算結果表示 -->
45
+ <h3>合わせ味噌</h3>
46
+ <table class="table table-bordered table-striped miso-amount">
47
+ <tbody>
48
+ <tr>
49
+ <th><lavel>麹量:</lavel></th>
50
+ <td><?php echo $kouji ?>&nbsp;Kg</td>
51
+ </tr>
52
+ <tr>
53
+ <th><lavel>煮大豆:</lavel></th>
54
+ <td><?php echo $soi ?>&nbsp;Kg</td>
55
+ </tr>
56
+ <tr>
57
+ <th><lavel>乾燥大豆:</lavel></th>
58
+ <td><?php echo $drysoi ?>&nbsp;Kg</td>
59
+ </tr>
60
+ <tr>
61
+ <th><lavel>煮汁:</lavel></th>
62
+ <td><?php echo $awaseNijiru ?>&nbsp;cc</td>
63
+ <tr>
64
+ <tr>
65
+ <th><lavel>塩:</lavel></th>
66
+ <td><?php echo $awaseSolt ?>&nbsp;g</td>
67
+ </tr>
68
+ </tbody>
69
+ </table>
70
+ </div>
71
+ </div>
72
+ <!-- /.row -->
73
+ </div>
74
+ <?php
75
+ $str = ob_get_clean();
76
+
9
- ありがとうございました。
77
+ return $str;
78
+ }
79
+ ```