ryouma さん、トピックのタイトルがありませんが、付け忘れでしょうか。もしタイトルを付けたはずなのに消えてしまったというようなことがありましたら、お手数ですがどのようなタイトルを付けたかお知らせください。
それから、「【重要】 お読みください」はフォーラム管理上のお知らせを掲載するカテゴリーですので質問のトピックには使用されないようお願いします。質問のトピックを作成される際には最もあてはまるカテゴリーを選択してください。本件は「使い方全般」カテゴリーに移動します。
失礼致しました!
タイトルは「WordPressのカスタムフィールドにclass名を付与する方法について」です。
申し訳ありません。
管理者様
他にも2件ほど、タイトルが消えているトピックがあると思いますのでそちらもご対応ください。
ryoumaさん
カスタムフィールドの名前は「amazon」でしょうか。
値を「amazon」にしているような気がします。
もし下記のようなカスタムフィールドがあるとします。
名前 値
class amazon
class rakuten
class=”amazon rakuten”という風に出力したい場合は、下記になります。
<?php
$custom_fields = get_post_custom();
$my_custom_field = $custom_fields['class'];
echo 'class="';
foreach ( $my_custom_field as $key => $value ){
echo $value . ' ';
}
echo '"';
?>
ただし、この場合最後のクラス名と”の間に半角スペースができてしまいます。表示には特に問題はありませんが、気になるようでしたら一旦変数に格納してsubstrなどで削除してください。
また、Codexを参考にしていると思いますが、foreachの{}が省略されていて、今回のケースではコードがわかりにくくなりますので、{}をつけたほうがいいと思います。
ixkaitoさん、回答ありがとうございます。
質問内容が分かりづらく、大変申し訳ありません。
カスタムフィールドの名前は「amazon」で、値はリンク付き画像のURLを記述する予定です。
私、PHPは素人並みの知識しか無く、下記の記述をカスタマイズしようと試みましたが、分かりませんでした。
ちなみに下記コードを記述するとclass=””を表示されてしまいます。
恐縮ですが、お教え頂けると嬉しいです。
<?php
$custom_fields = get_post_custom();
$my_custom_field = $custom_fields['class'];
echo 'class="';
foreach ( $my_custom_field as $key => $value ){
echo $value . ' ';
}
echo '"';
?>
カスタムフィールドの名前がamazonであれば、お伝えしたコードではclass=””と表示されるでしょう。
名前がamazonであれば下記で値が出力されると思いますが?
(ryoumaさんが最初に書いたコードとほぼ同じです。echo $value.””;の.””は取りました。意味ありませんので。)
<?php
$custom_fields = get_post_custom();
$my_custom_field = $custom_fields['amazon'];
foreach ( $my_custom_field as $key => $value ){
echo $value;
}
?>
最終的にはどのようソースを出力したいと思っておりますでしょうか。またclass名というのはcssのclassではないんですか?