前提・実現したいこと
wordpressでfunction.phpに計算式を作り固定ページに表示させたい。
発生している問題・エラーメッセージ
ローカル開発環境で試したところ固定ページに表示されたのですが、
本サーバーにアップすると何も表示されません。
該当のソースコード
子テーマのfunction.php
php
1 2<?php 3add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); 4function theme_enqueue_styles() { 5 wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); 6 wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style') 7); 8} 9?> 10 11<?php 12/* 味噌計算アプリ */ 13function miso_amount_calc($content) { 14 if( is_page( 'amount_of_miso' )) { //固定ページ「amount_of_miso」の時だけ処理させる 15 /* PHPで計算処理を組み込む */ 16 if( $_POST['cal_bottom'] == '計算') { 17 $misoVolume = $_POST["miso_volume"]; 18 19 $kouji = (0.6 * ($misoVolume * 10) / 10); 20 $soi = (0.4 * ($misoVolume * 10) / 10); 21 $drysoi = (0.2 * ($misoVolume * 10) / 10); 22 $awaseNijiru = (100 * $misoVolume); 23 $awaseSolt = (124 * $misoVolume); 24 } 25 ?> 26 <!-- 入力フォーム --> 27 <div class="container"> 28 <div class="row"> 29 <div class="col-md-8"> 30 <h1>味噌分量計算表</h1> 31 <p>作りたい味噌の量を入力して[計算]ボタンを押してください。</p> 32 <form name="miso_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>"> 33 <div class="form-group form-inline"> 34 <lavel>作りたい味噌量:</lavel> 35 <input type="tel" name="miso_volume" id="input_area" class="form-control col-2" maxlength="3" /> Kg 36 </div> 37 <button type="submit" name="cal_bottom" class="btn btn-secondary btn-block col-2 form-control" value="計算">計算</button> 38 </form> 39 40 <!-- 計算結果表示 --> 41 <h3>合わせ味噌</h3> 42 <table class="table table-bordered table-striped miso-amount"> 43 <tbody> 44 <tr> 45 <th><lavel>麹量:</lavel></th> 46 <td><?php echo $kouji ?> Kg</td> 47 </tr> 48 <tr> 49 <th><lavel>煮大豆:</lavel></th> 50 <td><?php echo $soi ?> Kg</td> 51 </tr> 52 <tr> 53 <th><lavel>乾燥大豆:</lavel></th> 54 <td><?php echo $drysoi ?> Kg</td> 55 </tr> 56 <tr> 57 <th><lavel>煮汁:</lavel></th> 58 <td><?php echo $awaseNijiru ?> cc</td> 59 <tr> 60 <tr> 61 <th><lavel>塩:</lavel></th> 62 <td><?php echo $awaseSolt ?> g</td> 63 </tr> 64 </tbody> 65 </table> 66 </div> 67 </div><!-- /.row --> 68 </div> 69 70 <?php 71 } else { 72 return $content; 73 } 74} 75add_filter('the_content', 'miso_amount_calc'); 76?>
固定ページのスラッグを
amount_of_miso
にしました。
試したこと
使用しているテーマ(Lightning)の標準の子テーマでは、
エラーが発生したので、WordPressの子テーマで使用するfunction.phpを使うと表示できました。
その他のphpのプログラムは調べながらネットで見たコードを修正しました。
補足情報(FW/ツールのバージョンなど)
ローカル開発環境
Windows10 pro
MAMP 4.2.0.23973
PHP 7.4.1
Wordpress 5.6.1-ja
本サーバー
ロリポップ スタンダードプラン
PHP 7.4モジュール版
Wordpress 5.6.1-ja
WordpressのテーマはLightningの子テーマ
子テーマのfunction.phpは、
Lightningの標準のものではローカルでエラーが出たので、
WordPressの子テーマを作る時に使用するものを使ってローカルでは表示することが出来ました。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/17 00:59
2021/02/17 02:29
2021/02/17 22:56