0

私は素晴らしいACFプラグインを使用していますが、その機能、つまりチェックボックスに苦労しています。

ブログ投稿を「トップストーリー」に昇格させる手段としてチェックボックスを使用しようとしています。

そこで、「top_story」という ACF チェックボックス フィールドを設定しました。チェックされている場合は投稿を宣伝し、チェックされていない場合は投稿を宣伝しません。

これで機能しますが、ブログ投稿でそのチェックボックスがオンになっていない場合は常に、次のエラー メッセージが表示され続けます。

警告: in_array() [function.in-array]: 2 番目の引数のデータ型が正しくありません

コードを単純化したので、次のようになります。

<?php
if( in_array( 'topstory', get_field('top_story') ) )
{
echo '<h1>This is a top story</h1>'; 
}
else
{
echo '<h1>This isn't a top story</h1>';
}
?>

だから私が知りたいのは、ここで何がうまくいかないのか、そしてそれを修正する方法だと思いますか? 「トップニュース」ではない投稿の配列に値がないように見えますが、「get-field」関数に引数が渡されず、フォールオーバーしますか?

基本的にはまだ機能するため、エラーを非表示にするつもりでしたが、それは私には快適ではなく、将来またこれを行う必要があると確信しています.

いつもご協力いただきありがとうございます。

4

2 に答える 2

0

多分このように:

<?php
// args to check if "Top Story" os TRUE:
$args = array(
'cat'               => '5',             // Enter Category for "Topstories"
'posts_per_page'    => 3,               // How many posts to show if multiple selected "Backend"
'orderby'           => 'date',          // How to sort posts - date, rand etc...
'order'             => 'asc',           // How to order posts - ASC, desc etc...
'meta_key'          => 'topstory',      // Name of ACF field to filter through
'meta_value'        => 'yes'            // Yes = Show, No = Don't show
);
// The results:
$the_query = new WP_Query( $args );
// The Loop:
<?php if( $the_query->have_posts() ) :?>
<h1>This is a top story</h1>
<?php
while ( $the_query->have_posts() ) : $the_query-    >the_post(); ?>
    ....
  // Properties to show you post //
    ....            
            endwhile;
            endif;
            wp_reset_query();  // Reset/kill query
                ?>
于 2014-01-23T21:40:24.857 に答える