サポート » 使い方全般 » カスタムフィールドで作成したチェックボックスにチェックがついた投稿

  • hinomi

    (@hinomi)


    プラグインの質問なのか、そうでないのかが
    わからなかったので、こちらで質問させてください。

    トピックタイトルは
    カスタムフィールドで作成したチェックボックスにチェックがついた投稿を別にしたい
    です。

    やりたいこととしては、
    このフォーラムにあるような「解決済み」の表示と
    その記事の分類です。

    advanced custom fieldsというプラグインを使って
    チェックボックスにチェックをすることが出来る部分を設けています。
    このチェックボックスへのチェックは任意なのですが、
    チェックした記事に関しては、チェックしていない記事と別の部分で
    表示したいと思っています。
    (チェックした記事だけ一覧で表示、というようなことが出来ると嬉しいです。)

    そのさきがけではないですが、
    一応チェックボックスの作成だけは行ってみました。
    そして、以下のコードでチェックボックスの内容を表示させてみようとしました。

    <?php echo get_field('fieldname'); ?>

    その結果、
    arrayとだけ表示され、思うような表示が出来ませんでした。

    長くなってしまい、申し訳ありませんが、
    フォーラムのような「解決済み」の表示とその分類について
    なにか分かる方がいらっしゃいましたら、ぜひ教えていただきたいです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    (チェックした記事だけ一覧で表示、というようなことが出来ると嬉しいです。)

    一覧表示する可能性があるならば、カスタムフィールドよりもカスタム分類で実装する方がおすすめです。
    カスタムフィールドで実装した場合、一覧表示を行うページを独自に作成する必要がありますが、カスタム分類であれば、自動的に一覧ページを表示できるようになります。

    また、表示の際にもカスタム分類で実装した方が処理速度の面でも有利です。

    その結果、
    arrayとだけ表示され、思うような表示が出来ませんでした。

    チェックボックスであるため、配列で取得しているためだと思われます。

    スレッド開始 hinomi

    (@hinomi)

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

    ごめんなさい。
    私自身知識がなく、理解できていないのですが・・

    まず、
    「カスタム分類での実装」ということですが、
    こちらはカスタムフィールドに関するプラグイン(custom post type uiなど)で
    カスタム分類を作成すると良い、という解釈で大丈夫でしょうか?
    ただ、作成したカスタム分類に所属するものを一覧というのは想像がつくのですが
    チェックした記事だけ別にする、というのは
    カスタム分類を用いた場合に、具体的にどうするのがよいか、
    ということがイマイチ理解できていません。
    よろしければ、この点を教えていただけませんでしょうか?

    また、
    arrayだけの表示について、「配列で取得している」
    ということですが、
    こちらは、どのような対策が必要となるのでしょうか?
    プラグイン自体をいじるのか、functions.phpへの書き込みか、
    などの検討がつかなかったです・・

    お手数ですが、
    またご返信いただけますと幸いです。

    jdbb

    (@jdbb)

    横から失礼します。

    こちらはカスタムフィールドに関するプラグイン(custom post type uiなど)で
    カスタム分類を作成すると良い、という解釈で大丈夫でしょうか?

    についてはその通りだと思います。
    「チェックした記事だけ別にする」というのをどのように表示するかによるのですが

    1. 「解決済み」だけの一覧を表示
    2. 「解決済み」以外の一覧を表示
    3. 全ての記事を表示

    の場合ですとpermalinkの設定にもよりますが
    カスタム分類を「solve」、「解決済み」を「solved」、「未解決」を「unsolve」
    とした場合
    1はexample.com/solve/solved
    2はexample.com/solve/unsolve
    3はexample.com/solve
    となります。
    2が必要でなければ作らなければいいだけになります。
    3についてはpost_typeのアーカイブでも問題ありませんが
    urlの統一感からタクソノミーアーカイブのほうがいいかと

    また、jim912さんの作成されたプラグイン
    ps taxonomy expander
    であればデフォルトを「未解決」にできたり、「解決」「未解決」両方に
    チェックが入らないようラジオボタンにするということもできるのでオススメです。

    arrayだけの表示について、「配列で取得している」
    ということですが、
    こちらは、どのような対策が必要となるのでしょうか?
    プラグイン自体をいじるのか、functions.phpへの書き込みか、
    などの検討がつかなかったです・・

    こちらですが表示するものが配列やオブジェクトの場合はそのままでは表示されません
    implodeというphpの関数を使用したり
    foreachで処理したりする必要があります。
    ただ、advanced custom fieldではget_fieldやthe_fieldの場合は
    それなりに処理された状態で表示された気がします
    中身が入っていないために表示されないのであればifで括ってやればいいかもしれません
    if(get_field('fieldname'))the_field('fieldname');

    モデレーター Takuro Hishikawa

    (@hissy)

    echoだと文字列に強制的に変換されます。これで値は確認できます
    <?php $v = get_field('fieldname'); var_dump($v); ?>

    こちらにACFを使った検索例を載せていますのでご参考まで
    http://notnil-creative.com/blog/archives/1752

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタムフィールドで作成したチェックボックスにチェックがついた投稿」には新たに返信することはできません。