サポート » プラグイン » カスタムフィールドテンプレート 空欄項目の非表示

  • tackn

    (@tackn)


    カスタムフィールドテンプレートで、項目が空欄の時に非表示にするコードが知りたいです。

    オプション項目に
    outputNone = No Data
    というのがありますが、これだと「No Data」と表示されてしまいます。

    項目ごと非表示出来るコードをご存知の方よろしくお願いします。

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • gblsm

    (@gblsm)

    下記のWebページが参考になるかもしれません。
    WordPress|カスタムフィールドで値無記入の場合、項目非表示。

    トピック投稿者 tackn

    (@tackn)

    ありがとうございます。

    こちらPHPがほとんどわからないのですが、現在記事内への反映はショートコードを使用しています。

    <?php if(post_custom(‘price’)): ?>
    <div class=”price”>料金:<?php echo post_custom(‘price’); ?></div>
    <?php endif; ?>

    は、カスタムフィールドテンプレートの管理画面上、どこに記載したら宜しいのでしょうか?

    gblsm

    (@gblsm)

    テーマのテンプレート(phpファイル)だと思います。試してみる場合は、元に戻せる準備をしてから(バックアップコピーをとるのと、戻し方を練習してから)挑戦なさってください。

    トピック投稿者 tackn

    (@tackn)

    上手くいかないようです。
    何が悪いのでしょうかね?

    gblsm

    (@gblsm)

    tacknさん、「上手くいかない」を具体的に教えて頂けますか。最初に必要な情報は、使用しているテーマ、変更したテンプレートファイル(どの部分を変更したか)、どうなったか(空欄なのに表示される、空欄ではないのに非表示になる等)ですね。

    トピック投稿者 tackn

    (@tackn)

    連絡ありがとうございます。

    カスタムフィールドテンプレートの管理画面、
    PHP CODE (Experimental Option)
    に下記コードを記載。

    <?php if(post_custom(‘tel’)): ?>
    <div class=”tel”>電話番号:<?php echo post_custom(‘tel’); ?></div>
    <?php endif; ?>

    [tel]の部分のみ空欄だったら非表示したいという意味ですが上記のコードでいいかわかりません。
    とりあえず、参考ページのままアップしてみましたが、空欄時・記入時共に項目は表示されます。

    テーマはいろいろ試しましたが、Twenty Fourteenで上手く行きませんでした。
    お手数おかけしますが、何かわかりましたらお知らせ願います。。

    gblsm

    (@gblsm)

    tacknさん、混乱させて申し訳ありませんでした。参考としてご紹介したWebページは、カスタムフィールドテンプレートの管理画面へ入力する方法で何とかするものではありません。そうではなく、Twenty Fourteen 等のテーマ自体に含まれているテンプレートファイル(phpファイル)を直接書き換える方法です。

    トピック投稿者 tackn

    (@tackn)

    回答ありがとうございます。

    全ての投稿ページにカスタムフィールドテンプレートの内容を取り入れたくないので、テーマにコードを記載しない方法で検討しております。
    (条件分岐などで対応できるのでしょうが、自分には難易度が高くややこしくなるため)

    で、投稿ページにはあくまでカスタムフィールドテンプレートのショートコードを記載して表記するように検討しておりました。

    そのような方法ですと、空欄時の非表示処理は出来ないのでしょうか?

    gblsm

    (@gblsm)

    カスタムフィールドテンプレートのショートコードを、実際のカスタムフィールドとして表示する処理は、カスタムフィールドテンプレート(プラグイン)の内部で実施している筈です。従って「空欄時の非表示処理」は、プラグイン自体にその処理を新たに追加する必要があると思います。私はやり方を知らないので、どなたか詳しい方からコメントが頂けるとよいのですが。

    トピック投稿者 tackn

    (@tackn)

    ありがとうございます。

    そうですか。プラグイン自体をいじらないといけないとなると、アップデート時などに変更する必要があるので、どちらにしても手間がかかるのですね。

    う~ん、シンプルに解決できないものか・・・

    gblsm

    (@gblsm)

    力技ですが、下記の方法で、とりあえず非表示にできました。

    TEMPLATE #1 のテンプレートコンテンツ:

    [Price]
    type = text
    size = 20
    label = 金額

    TEMPLATE #1 のテンプレートフォーマットに FORMAT #1 を選択。

    FORMAT #1 の内容:

    <table class="cft">
    <tbody>
    <tr>
    <?php $price = post_custom( 'Price' ); if ( !empty( $price ) ): ?>
    <th>Price</th><td>[Price]</td>
    <?php endif; ?>
    </tr>
    </tbody>
    </table>

    FORMAT #1 の「PHPを使用する」にチェックを入れる。

    トピック投稿者 tackn

    (@tackn)

    出来ました~!
    ありがとうございます!!

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • トピック「カスタムフィールドテンプレート 空欄項目の非表示」には新たに返信することはできません。