Adicionar Meta box Befoure Post Title

4

eu gostaria de adicionar uma imagem acima do título do post ... antigamente eu mudaria isso diretamente no código wordpress, mas isso não é muito afetivo .. você sabe, atualizações e tal.

é possível usar add_meta_box ou alguma outra maneira de adicionar uma caixa diretamente acima do título da postagem?

tentou isso Prioridade da Meta Box para o tipo de postagem personalizada

BUt que não funcionou .. ajuda Por favor:)

    
por Sagive SEO 04.09.2011 / 21:10

2 respostas

4

A única chance real que você tem é conectar-se a admin_notices , que está acima do título da página post-new.php & ícone:

function  wpse27700_above_title_content()
{
    ?>
    <style>
    /* 
    You might need to attach some styles here,
    to not get into the admin notices styles 
    */
    </style>

    <h1>TEST</h1>
    <p>This is a test message</p>
    <?php
}

// This is needed to only hook on the post new & edit screens.
function wpse27700_admin_head()
{
    add_action( 'admin_notices', 'wpse27700_above_title_content', 9999 );
}
add_action( 'admin_head-post-new.php', 'wpse27700_admin_head' );
add_action( 'admin_head-post.php', 'wpse27700_admin_head' );
    
por kaiser 05.09.2011 / 11:48
1

Minha resposta é supor que você quer dizer na área de administração na tela de edição de postagens.

Infelizmente, não há ganchos para adicionar coisas acima do título.

Eu encontrei uma maneira (muito hacky?) de fazer isso, no entanto, olhando para o código do Premise (um plugin da página de entrada do Copyblogger Media).

Conecte-se a algo como dbx_post_sidebar , que está abaixo de todos os materiais e metaboxes de pós-edição. Echo sua imagem com um atributo de estilo contendo display:none;

<?php
add_action( 'dbx_post_sidebar', 'wpse27700_add_image' );
function wpse27700_add_image() 
{
    echo '<img id="wpse27700-image" src="http://placebear.com/500/100"alt="wpse27700 bear" style="display:none;" />';
}

Em seguida, usando o jQuery, você pode remover a imagem e colocá-la acima do título. Eu acabei de viciar em admin_head para fazer isso, mas você também pode enfileirar um arquivo js separado ou o que for.

<?php
add_action( 'admin_head', 'wpse27700_admin_head' );
function wpse27700_admin_head()
{
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function(){
            var wpse27700 = jQuery('#wpse27700-image');
            wpse27700.remove();
            jQuery('#titlediv #titlewrap').before(wpse27700.show());
        });
    </script>
    <?php   
}

Não é a solução mais direta, mas funciona. Como um plugin: enlace

    
por chrisguitarguy 05.09.2011 / 00:14

Tags