プラグインファイルにコードを挿入するのは最善の方法でないのは理解しておりますが、検索の結果、上記の質問の臨時対処法を見つけましたのでそのコードスニペットをお知らせいたします。
(カスタマイズ時におけるプラグインのプラグイン制作などのアドバイスやよい情報のサイトがあれば是非ご指導願います。)
ソース元の内容は私の質問と少し違いがありますがこちらがソースのURLです。
http://wordpress.stackexchange.com/questions/16136/different-post-format-options-per-custom-post-type
‘
// Register all post types that we will use
add_action( ‘after_setup_theme’, ‘wpse16136_after_setup_theme’, 11 );
function wpse16136_after_setup_theme()
{
add_theme_support( ‘post-formats’, array( ‘aside’, ‘gallery’, ‘video’ ) );
}
// Register our custom post type, and link the post formats to the post types
// Yes, you can (ab)use add_post_type_support to save extra data like this
add_action( ‘init’, ‘wpse16136_init’ );
function wpse16136_init()
{
register_post_type( ‘wpse16136’, array(
‘public’ => true,
‘label’ => ‘WPSE 16136’,
‘supports’ => array( ‘title’, ‘editor’ ),
) );
add_post_type_support( ‘wpse16136’, ‘post-formats’, array( ‘gallery’, ‘video’ ) );
add_post_type_support( ‘post’, ‘post-formats’, array( ‘aside’, ‘gallery’ ) );
}
// Replace the standard meta box callback with our own
add_action( ‘add_meta_boxes’, ‘wpse16136_add_meta_boxes’ );
function wpse16136_add_meta_boxes( $post_type )
{
if ( ! get_post_type_object( $post_type ) ) {
// It’s a comment or a link, or something else
return;
}
remove_meta_box( ‘formatdiv’, $post_type, ‘side’ );
add_meta_box( ‘wpse16136_formatdiv’, _x( ‘Format’, ‘post format’ ), ‘wpse16136_post_format_meta_box’,
$post_type, ‘side’, ‘core’ );
}
// This is almost a duplicate of the original meta box
function wpse16136_post_format_meta_box( $post, $box ) {
if ( current_theme_supports( ‘post-formats’ ) && post_type_supports( $post->post_type, ‘post-formats’
) ) :
$post_formats = get_theme_support( ‘post-formats’ );
// This is our extra code
// If the post type has registered post formats, use those instead
if ( is_array( $GLOBALS[$post->post_type] ) ) {
$post_formats = $GLOBALS[$post->post_type];
}
if ( is_array( $post_formats[0] ) ) :
$post_format = get_post_format( $post->ID );
if ( !$post_format )
$post_format = ‘0’;
$post_format_display = get_post_format_string( $post_format );
// Add in the current one if it isn’t there yet, in case the current theme doesn’t support it
if ( $post_format && !in_array( $post_format, $post_formats[0] ) )
$post_formats[0][] = $post_format;
?>
<div id=”post-formats-select”>
<input type=”radio” name=”post_format” class=”post-format” id=”post-format-0″ value=”0″ <?php
checked( $post_format, ‘0’ ); ?> /> <label for=”post-format-0″><?php _e(‘Standard’); ?></label>
<?php foreach ( $post_formats[0] as $format ) : ?>
<input type=”radio” name=”post_format” class=”post-format” id=”post-format-<?php echo
esc_attr( $format ); ?>” value=”<?php echo esc_attr( $format ); ?>” <?php checked( $post_format, $format
); ?> /> <label for=”post-format-<?php echo esc_attr( $format ); ?>”><?php echo esc_html(
get_post_format_string( $format ) ); ?></label>
<?php endforeach; ?>
</div>
<?php endif; endif;
}
‘
重ね重ね、素晴らしく助けになるプラグインの開発本当に有難うございます。