カスタム投稿タイプを有効にしました
add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote', 'image' ) );
デフォルトの投稿タイプはStandard
に設定されていて、標準の投稿がある場合はStandard
タイプを除くすべてに対して有効で、get_post_format()
は空になります。それらを有効にすることで何かを見逃したのですか?
"Standard"はフォーマットそのものではありません - ポストにフォーマットがないことを単に意味しています。
...選択する形式として[形式]メタボックスに表示されている場合、これはやや欺瞞的です。
私は「標準」がそれが何を意味するのかをはっきりと暗示していると思います。投稿が「標準」ではないサイトを作成している場合は、デフォルトにフォールバックします。
if ( ! $format = get_post_format() )
$format = 'gallery';
あるいは、wp_insert_post
をフックして、フォーマットがまだ設定されていなければそれを強制します。
function wpse_58121_set_default_format( $post_id ) {
if ( ! get_post_format( $post_id ) )
set_post_format( $post_id, 'gallery' );
}