0

次のような配列があります

<?php
$args = array(
"post_author_url" => "no",
"thumbnail_custom_field" => "image",
"post_include" => get_user_meta($userID, 'member_owner', true),
"layout_mode" => "multi_column","layout_num_cols" => "3");
special_recent_posts($args);
?>

これはうまく機能しますが、アイテムの1つに状態を設定したい

"thumbnail_custom_field" => "image",

が存在しない可能性があるため、"image"OK と表示されるようにフォールバックが必要です。

例えば:

<?php if ( get_post_meta($post->ID, 'image', true)) {
echo 'image'
} else { 
echo 'image-fallback'
?>

imageこの IF ステートメントの結果として、配列内のタグを設定するにはどうすればよいですか? 配列の前に文字列にしますか? または、IF ステートメントを直接配列に入れますか? 少し専門家のガイダンスを探しています..ありがとう

4

1 に答える 1

1

次のことを試してください。

<?php
$args = array(
"post_author_url" => "no",
"thumbnail_custom_field" => ((get_post_meta($post->ID, 'image', true))?'image':'image-fallback'),
"post_include" => get_user_meta($userID, 'member_owner', true),
"layout_mode" => "multi_column","layout_num_cols" => "3");
special_recent_posts($args);
?>

式 (expr1) ? (expr2) : (expr3) は、expr1 が TRUE に評価される場合は expr2 に評価され、expr1 が FALSE に評価される場合は expr3 に評価されます。「三項演算子」を検索します。

于 2012-10-05T08:40:50.933 に答える