ショートコード用に作った記述(内容)を、single.php などでも使いたい
WordPressで作成しているサイトにて、商品の通常価格と販売価格を簡単に出力しようと、
投稿記事の管理画面にオリジナルのカスタムフィールドを作り、そこへ数字(価格)だけを入力し、
その情報を投稿の管理画面内にショートコードで出力できるように、functions.phpに以下の記述を作り、
投稿ページでは出力できるようになりました。
###functions.php
PHP
1<?php 2// ショートコード作成 3function regular_price_shortcode(){ 4 $price1 = get_post_meta(get_the_ID(), 'regular_price', true); 5 if (empty($price1)){//数値がない場合は何もいれない 6 return null; 7 }else{ 8 return '<span class="Price1">¥' . $price1 . ' </span>'; 9 } 10} 11add_shortcode( 'regularPrice', 'regular_price_shortcode' ); 12 13function current_price_shortcode(){ 14 $price2 = get_post_meta(get_the_ID(), 'current_price', true); 15 if (empty($price2)){//数値がない場合は何もいれない 16 17 return null; 18 }else{ 19 return '<span class="Price2">→ ¥' . $price2 . '</span>'; 20 } 21} 22add_shortcode( 'currentPrice', 'current_price_shortcode' ); 23?>
ですが、この情報を投稿の管理画面外で使いたく(サイドバーやフッターなどでも)、
single.phpなどに以下の記述をしたのですが、
全ての画像が読み込まれなくなり、出力もされてくれません。
(html,cssの文字情報等は問題なし)
###single.php
php
1〜〜〜 2<figcaption> 3 <?php $price1 = get_post_meta(get_the_ID(), 'regular_price', true); 4 if (empty($price1)){//数値がない場合は何もいれない 5 return null; 6 }else{ 7 return '<span class="Price1">¥' . $price1 . ' </span>'; 8 }?> 9 <?php $price2 = get_post_meta(get_the_ID(), 'current_price', true); 10 if (empty($price2)){//数値がない場合は何もいれない 11 return null; 12 }else{ 13 return '<span class="Price2">→ ¥' . $price2 . '</span>'; 14 }?> 15</figcaption> 16〜〜〜
だいぶ色々試してみたのですが、
もうお手上げ状態となりましたので、
何が間違い、原因かお分かりになる方おられましたら、
教えていただけないでしょうか?
よろしくお願いいたします。
補足
html,cssに関しては問題なく使用できるのですが、PHPに関してはほぼ初心者です。
見よう見まねで作っていますので、無駄な記述をしているかもしれません。
ですので、もし効率的な書き方があれば、
そちらも合わせて教えていただければ幸いです。
回答1件
あなたの回答
tips
プレビュー