web-dev-qa-db-ja.com

高度なカスタムフィールドからチェックボックス配列を表示する

私はwordpressのために 高度なカスタムフィールドプラグイン を使っていて、次のことができるかどうか疑問に思います。

チェックボックスがチェックされている場合は= webで、それはページタイトルと同じです。

誰がこれに使用するコードを知っていますか?

更新:私が持っている最も近いのはこれです:

<?php $fields = get_acf(); print_r ($fields->categories); ?> 

しかし、それはこれを印刷しています:

Array ( [0] => option_1 [1] => option_2 [2] => option_9 )

1.本当の名前を(配列とは言わずに)プリントアウトするにはどうすればよいですか。

2また、それが= webで、ページのタイトルと一致するならば、何かをエコーし​​ますか?

1
Rob

高度なカスタムフィールドプラグインがチェックボックスを処理する方法は配列内にあるため、その配列を操作します。たとえば、フィールド名がcategoriesで、チェックボックスのうちwebがチェックされているかどうかを確認します。

<?php if(in_array('web', get_field('categories') )): ?>
    <h1>Web was ticked!</h1>
<?php endif; ?>

あなたの質問に答えるには:

  1. 実際の名前を(配列とは言わずに)表示するにはどうすればいいですか?

配列の代わりに名前を表示したい場合は、次のようにします。

$cats = get_field('categories');
echo '<ul>';
foreach ($cats as $key => $val){
    echo '<li>'.$val.'</li>';
}
echo '<ul>';

これはあなたに何かを与えるはずです:

  • オプション1
  • option_2
  • option_9

2また、それが= webで、ページのタイトルと一致するならば、何かをエコーし​​ますか?

最初のコードスニペットと同じですが、別の条件を追加するだけです。

<?php if(in_array('web', get_field('categories') ) && $post->post_title == "web"){
     echo  '<h1>Web was ticked! and matches the page title</h1>
}
1
Bainternet