こんにちは、最近よく「痩せた?」と言われますが、元々痩せてます。
でも元気です。
今回は、結構ハマった、WordPressのプラグイン、カスタムフィールドテンプレートについての記事です。
カスタムフィールドテンプレート、とても便利ですよね。
カスタムポストタイプUIとセットでかなりお世話になってます。
今回やりたかったことは、記事の最後に、リンク先のURLを入力するカスタムフィールド。
「詳しくはこちら」って感じで。
それ自体は余裕で実装(といってもグーグル先生に聞きながらですがw)出来るんですが、ハマり箇所は
「リンク先URLが未入力の場合は、【詳しくはこちら】も表示しないようにしたい」
4時間~5時間くらいでしょうか。。。
かなり工数取られてしまいました。
でも、実装できてみると、「え、これだけ?」って感じの内容でした。
phpがガシガシ書ける方には造作もないでしょうね。
まずは、カスタムフィールドテンプレートをそのまま表示したときの記述から。
カスタムフィールドのタイプはtextで、名前はSampleとしています。
[Sample]
type = text
size = 35
label = サンプル
<a href="<?php echo post_custom('Sample'); ?>">詳しくはこちら</a>
という感じです。
これで、サンプルに入力したリンクへ飛びますね。
でも、サンプルに何も入力していないときは、
<a href="">詳しくはこちら</a>
となってしまいます。
現在のページへのリンクになってしまいます。
そこで、イロイロと調べた結果、if文を使うことで解決いたしました。
コチラです。
<?php if(post_custom('Sample')) : ?> <a href="<?php echo post_custom('Sample'); ?>">詳しくはこちら</a> <?php else : ?> <?php endif; ?>
これで、Sampleにリンク先URLを入力していない場合は、何も表示されません。
if(post_custom(‘Sample’)
これで、「もし、中身がある場合」ですね。
else
で、「それ以外の場合」。
かなり悩んだのですが、たったのこれだけでした。。。
WordPressマスターへの道はまだまだ遠そうです。
でも、今回の案件でとても成長したと思いますw(多分)
以上。
カスタムフィールドテンプレートの使い方はググれば沢山記事があるので、割愛いたしますm(__)m
参考サイト様
WordPress|カスタムフィールドで値無記入の場合、項目非表示
ありがとうございました。