Imagem de header personalizada adicional

Alguém já viu uma maneira de adicionar uma nova header_imagem a um tema? Preciso adicionar duas imagens configuráveis ​​em um tema. Realmente não importa se ele é adicionado como um novo menu de tema de administração “Cabeçalho” ou se ele for adicionado ao menu de Apperance-> Header existente.

Eu sou um pouco novo para o desenvolvimento de plugins para que qualquer ajuda na direção certa seja apreciada. Na verdade, não consigo encontrar nenhum ganchos ou ações para append.

Semelhante a este pedido

Solutions Collecting From Web of "Imagem de header personalizada adicional"

Veja TwentyEleven para obter a ideia: usa register_default_headers() para adicionar novas imagens de header. No seu plugin ou tema, apenas adicione:

 add_action( 'after_setup_theme', 'wpse_42529_add_header_images' ); function wpse_42529_add_header_images() { register_default_headers( array( 'a_short_name' => array( 'url' => '%s/images/headers/a_short_name.jpg', 'thumbnail_url' => '%s/images/headers/a_short_name-thumbnail.jpg', 'description' => __( 'Wheel', 'twentyeleven' ) ), 'another_image' => array( 'url' => '%s/images/headers/another_image.jpg', 'thumbnail_url' => '%s/images/headers/another_image-thumbnail.jpg', 'description' => __( 'Shore', 'twentyeleven' ) ) ) ); } 

O %s será substituído pelo URI do diretório de estilos. Você não precisa usar isso. Você pode usar plugin_dir_url( __FILE__ ) vez de %s .

Você pode chamar register_default_headers() várias vezes, funciona como um add_default_headers() .

Atualizar

Para adicionar uma nova página para imagens personalizadas semelhantes ao header personalizado, você deve estender a class Custom_Image_Header em uma página de opções de tema. Mas esta mesma class está em reconstrução agora – é quase impossível escrever um código de prova futuro com base nisso. Espero pelo WordPress 3.4 e crie o código em uma base mais estável.
Bem … vou fazer isso, porque eu também preciso disso também.

Outra maneira: copie e modifique a class atual em vez de estendê-la.

Isso já foi respondido aqui antes:

Se você olhar para o tema Twenty Eleven e outros temas padrão, você pode usar a imagem em destaque como uma imagem de header personalizada se for exatamente a mesma largura que o header padrão.

  < ?php // Check to see if the header image has been removed $header_image = get_header_image(); if ( $header_image ) : // Compatibility with versions of WordPress prior to 3.4. if ( function_exists( 'get_custom_header' ) ) { /* * We need to figure out what the minimum width should be for our featured image. * This result would be the suggested width if the theme were to implement flexible widths. */ $header_image_width = get_theme_support( 'custom-header', 'width' ); } else { $header_image_width = HEADER_IMAGE_WIDTH; } ?>  < ?php /* * The header image. * Check if this is a post or page, if it has a thumbnail, and if it's a big one */ if ( is_singular() && has_post_thumbnail( $post->ID ) && ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) ) ) && $image[1] >= $header_image_width ) : // Houston, we have a new header image! echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' ); else : // Compatibility with versions of WordPress prior to 3.4. if ( function_exists( 'get_custom_header' ) ) { $header_image_width = get_custom_header()->width; $header_image_height = get_custom_header()->height; } else { $header_image_width = HEADER_IMAGE_WIDTH; $header_image_height = HEADER_IMAGE_HEIGHT; } ?>  < ?php endif; // end check for featured image or standard header ?>  < ?php endif; // end check for removed header image ?>