
カスタムフィールドテンプレートに関して分からないことがあります。
(PHPやワードプレスに関してはあまり知識がありません。)
TEMPLATE #0 の「テンプレートコンテンツ」内に、
--------------------------
[アイテム名]
type = textfield
size = 35
[品番]
type = textfield
size = 35
[価格]
type = textfield
label = \
size = 20
--------------------------
と書いて、
「[cft] and [cftsearch] Shortcode Format」の中に下記のソース、
--------------------------
<table>
<tr>
<td>[アイテム名]</td>
<td>[品番]</td>
<td><?php if(get_post_meta($post->ID, '価格', true)): ?>¥<?php $price = get_post_meta($post->ID, '価格', true); ?><?php endif; ?></td>
</tr>
</table>
--------------------------
を書いて、「PHPを使用する」にチェックを入れました。
そして、内容を表示させたいPHPファイル内に、
--------------------------
<?php echo do_shortcode('[cft format=0]') ?>
--------------------------
と書きましたところ、アイテム名・品番は管理画面から登録した内容が表示されるのですが、価格(PHPのif文の箇所)が表示されません。
ほか、PHPを使っている箇所は全部表示されません。
「PHPを使用する」にチェックを入れているのですが、この場合はダメなのでしょうか。
「価格」の部分を表示させたいのですが、どんな方法がありますでしょうか。
詳しい方いらっしゃいましたら、どうぞよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
「価格」が入力されていたら「\(円マーク)価格」として「価格」が入力されていなければ「 」(円マークを表示しない?)ということですかね。
「[cft] and [cftsearch] Shortcode Format」の中を以下のようなコードでどうでしょう。
<table>
<tr>
<td>[アイテム名]</td>
<td>[品番]</td>
<td><?php $price = get_post_meta( get_the_ID(), '価格', true ); if( $price ) { echo '¥'; } ?>[価格]</td>
</tr>
</table>
それと、
<?php echo do_shortcode('[cft format=0]') ?>
最後に ;(セミコロン)が必要だと思います。
<?php echo do_shortcode('[cft format=0]'); ?>
参考まで。
ありがとうございます!
そういうことがしたいです><
いただいたソースを入れてみたら、¥のとこはそのまま表示されてしまったのですが、表示・非表示については意図した表示になりました!
ちなみに、この「価格」のところを「リンク」にして同様に使いたい場合なんですが、
([価格] => [リンク])
[リンク]の内容が登録されているときは、
<a href="http://goo.ne.jp/[リンク]"><img src="img/icon.gif"></a>
と表示し、登録がないときは何も表示されないようにしたいです。
その場合はどう書いたらいいのでしょうか。
<?php $link = get_post_meta( get_the_ID(), 'リンク', true ); if( $link ) { echo '<a href="http://goo.ne.jp/[リンク]"><img src="img/icon.gif"></a>'; } ?>
だと×と思うのですが、、、
また意味がわからなかったらすみません。
どうぞよろしくお願いいたします。
No.1
- 回答日時:
><?php if(get_post_meta($post->ID, '価格', true)): ?>¥<?php $price = get_post_meta($post->ID, '価格', true); ?><?php endif; ?>
これって条件分岐させているにもかかわらず、どちらにしろ[価格]を呼び出しているように見えるし、それを、表示させるようには書いていないような気がします。
>ほか、PHPを使っている箇所は全部表示されません
どう書いているかわからないので……。
どうされたいのかいまひとつわかりません。補足があればなにか手助けができるかもしれません。
参考まで。
ありがとうございます。
カスタムフィールドテンプレートで、内容が登録されている場合は表示し、ない場合は表示しないということをしたいです。
上記ソースを、PHPファイルに直接書いた場合は思ったように表示されるのですが、
管理画面の「[cft] and [cftsearch] Shortcode Format」の中に上記ソースを書いて、
<?php echo do_shortcode('[cft format=0]') ?>で呼び出しした場合は、表示されません。
><?php if(get_post_meta($post->ID, '価格', true)): ?>¥<?php $price = get_post_meta($post->ID, '価格', true); ?><?php endif; ?>
この箇所の条件分岐がおかしいとのことで、
https://zxcvbnmnbvcxz.com/wp-custum-fields/index …
のページを参考にして、
-----------------------------------------
<?php $price = get_post_meta($post->ID, '価格', true);?><?php if(empty($price)):?><?php else:?><?php echo post_custom('価格');?><?php endif;?>
-----------------------------------------
のように書き換えてみたのですが、この場合も、直接PHPファイルに書いたら表示されるのですが、管理画面に登録してcftで呼び出した場合は表示されませんでした。
ワードプレスのタグとPHPのタグがよくわからないのもあって、どうやって質問していいのかわからないのですみません。
また、
>ほか、PHPを使っている箇所は全部表示されません
と書いたのですが、すみません、訂正です。
「<?php echo get_the_date(); ?>」など、日付のタグ部分は表示されていました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードプレスに詳しい方に質問...
-
WooCommerceでの配送方法
-
ブログの画像サイズについて。...
-
ブログのプレビュー画面が表示...
-
ホームぺージの移管について。...
-
ホームページで集客する場合た...
-
ワードプレスアドレスの固定ペ...
-
Googleアドセンス
-
ワードプレスは、ドメイン作った後
-
ワードプレスでドメイン2つも作...
-
ホームページ制作の単純な無料...
-
サーバーについて
-
ホームページ制作とコーティング
-
1つのサーバー契約で複数のドメ...
-
ワードプレスのプラグイン
-
Adobe Express(アドビエクスプ...
-
ワードプレステーマkatawaraのCSS
-
ワードプレスのテーマ:katawara
-
ホームページやブログに関しま...
-
「ページにリダイレクトがあり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームの状態やGETのURLは保...
-
カスタムフィールドテンプレー...
-
Dreamweaver+PHPの効率化、生成...
-
検索時の選択内容を保持する方法
-
HTMLで前の画面に戻る時、入力...
-
テキストリンクをPOST送信したい
-
ショッピングカートの作成
-
ボタンをクリックでPHP文を実行
-
laravelを利用してコントロール...
-
$_POST['hoge']のデータをフラ...
-
PHPで画像の渡しが上手く行きま...
-
セレクトしたときに全て初期状...
-
PHP で画面の一部だけを変えたい。
-
PHPでCookieを使った訪問回数に...
-
phpでのボタン押下の活性・非活...
-
フォームへの前回入力値をクリ...
-
PHPのエラーの解消法について教...
-
phpで、フォームのラジオボタン...
-
php+mysqlでの重複チェックにつ...
-
Flaskでサーバー立ち上げに関して
おすすめ情報