教文館の社内ナレッジベースです。

【忘備録メモ】

・やりたかったこと

カスタムフィールド「ISBN」の値が・・・

①入力されている場合→その値から関数によって算出される10桁のISBNコードをリンク先URLに代入

②空の場合→別のカスタムフィールド「ショッピングサイト」の値をそのままリンク先URLに代入

という条件分岐。

リンク先URLは

http://shop-kyobunkwan.com/◯◯◯◯◯.html

という形になっている。「◯◯◯◯◯」の部分に代入。

・実際に作ったソースコード

[php]

<?php if(strlen(get_post_meta($post->ID, "ISBN", true)) > 0) : ?>
<a href="http://shop-kyobunkwan.com/<?php echo isbn13to10($value); ?>.html">イーショップでこの商品を買う</a>
<?php else : ?>
<a href="http://shop-kyobunkwan.com/<?php echo get_post_meta($post->ID,’ショッピングサイト’,true); ?>.html">この商品を買う</a>
<?php endif; ?>

[/php]

(ポイント)

・get_post_meta関数でカスタムフィールドの値を取得することができる。

・strlen関数でその値の文字列の長さを取得し、「>0」とすることで空文字でない分岐をつくる。

・<?php else : ?>で例外、すなわち空文字の分岐をつくる。

・最後に<?php endif; ?>で条件分岐終わりますよ~と宣言。