コードをcodeボタンで囲って再投稿してください。
ご返信ありがとうございます。
すいません。なんか変になっていました。
<?php $link = get_post_meta($post->ID, 'wpcf-link', true);?>
<?php if(empty($link)):?>
AAAA
<?php else:?>
BBBB
<?php endif;?>
こちらで大丈夫でしょうか??宜しくお願いします。
Toolset Typesというプラグインを使ったことが無いので詳細は分かりませんが、固定ページでカスタムフィールドが使えるようになっているんでしょうか?
<?php if(empty($link)):?>
この場合カスタムフィールドが空だとAAAになり、空でなければBBBになります。
<?php if(!empty($link)):?>
emptyに!を付けるとカスタムフィールドが空ではない場合はAAAになり、空だとBBBになります。
なので恐らく固定ページでカスタムフィールドが使われておらず、その為wpcf-linkに値が無いのでAAAになる、が正しいのでしょうか。
とすると
<?php $link = get_post_meta($post->ID, 'wpcf-link', true);?>
<?php if(!empty($link)):?>
AAAA
<?php else:?>
BBBB
<?php endif;?>
これが正しいように思いますが、回りくどいというか、固定ページでカスタムフィールドを使ってなければBBBだけ出してれば良いような…
ご返信ありがとうございます。
値がない場合はリンクごと出さないようにと以下のようにしたく。。
現状このようにすると、すべてリンクが表示され、値がないものは空のリンクになります。
値が入ってるのものはリンクするので、カスタムフィールドは使えてると思っているのですが。。
<?php $amazon = get_post_meta($post->ID, 'wpcf-amazon', true);?>
<?php if(empty($amazon)):?>
<a class="btn1" href="<?php echo post_custom('wpcf-amazon'); ?>" target="_blank">AMAZON</a>
<?php else:?>
<?php endif;?>
先に書いていますが、値の有無を判定するのに!で使い分けます。
emptyだと空の場合
!emptyだと空ではない場合
詳しくは http://php.net/manual/ja/function.empty.php を見てください。
で、カスタムフィールドに入力があればリンクを出す場合
<?php $amazon = get_post_meta($post->ID, 'wpcf-amazon', true);?>
<?php if(!empty($amazon)):?>
<a class="btn1" href="<?php echo post_custom('wpcf-amazon'); ?>" target="_blank">AMAZON</a>
<?php endif;?>
これだけで良いです。未入力の場合は何もしません。
ご返信ありがとうございます。
あ、すいません。ちょっと私の書き方もおかしかったです。
<?php $amazon = get_post_meta($post->ID, 'wpcf-amazon', true);?>
<?php if(!empty($amazon)):?>
<a class="btn1" href="<?php echo post_custom('wpcf-amazon'); ?>" target="_blank">AMAZON</a>
<?php endif;?>
このようにご教授いただいたような書き方をした場合だと、すべて非表示になってしまうのです。。
いろいろといじっているうちに以下だと動くようになりました。
<?php $amazon = get_post_meta( get_the_ID(), 'wpcf-amazon', true ); ?>
<?php if($amazon == ''):?>
<?php else:?>
<a class="btn1" href="<?php echo post_custom('wpcf-amazon'); ?>" target="_blank">AMAZON</a>
<?php endif;?>
なぜ動かなかったのかはわからないままなんですが。。。。
空、の意味が違うみたいですね
empty :存在しない
” :フィールドは存在するが値がない
の差ですね。
フィールドを設定している/していない、フィールドを作成したが消去したのは値だけ、という差は判別できない現状が把握いただけると幸いです。
-
この返信は7年、 4ヶ月前にmsioが編集しました。理由: 日本語へんでした。