single.php でカスタム フィールドの値を取得し、その値に応じて別のテンプレート パーツを呼び出します。
get_template_part( 'prefix', 'other-parts-of-the-file-except-extension' );
テンプレート パーツ ファイルで、単一の投稿/ページを別の方法でレイアウトします。
詳しく説明すると、実際のレイアウト コードはテンプレート パーツ ファイルに記述されます。single.php はカスタム フィールドの値のみをチェックし、値に応じて異なるテンプレート パーツ ファイルを呼び出します。
疑似コードは次のようになります (single.php または single-post.php または single-customposttype.php のうち、使用している方):
<php
$value=get the custom field value; // replace this with your function to get the value
if($value=='News 1')
get_template_part('template', 'news1'); // then you'll put layout in template-news1.php
else
get_template_part('template', 'news2'); // layout in template-news2.php
?>