Agregar meta box Befoure Publicar título

4

Me gustaría agregar una imagen sobre el título de la publicación ... en los viejos tiempos, la cambiaría directamente en el código de wordpress, pero eso no es muy efectivo ... ya sabes, actualizaciones y demás.

¿Hay alguna forma de usar add_meta_box o alguna otra forma de agregar una casilla directamente encima del título de la publicación?

probé esto Prioridad de Meta Box para el tipo de publicación personalizada

BUt que no funcionó ... ayuda, por favor :)

    
pregunta Sagive SEO 04.09.2011 - 21:10

2 respuestas

4

La única posibilidad real que tienes es engancharse en admin_notices , que está encima del título de la página post-new.php & icono:

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' );
    
respondido por el kaiser 05.09.2011 - 11:48
1

Mi respuesta es suponiendo que te refieres al área de administración en la pantalla de edición posterior.

Lamentablemente, no hay ganchos para agregar cosas sobre el título.

Sin embargo, encontré una forma (¿muy hacky?) de hacer esto al mirar el código de Premise (un complemento de página de destino de Copyblogger Media).

Enganche en algo como dbx_post_sidebar , que está debajo de todas las cosas de la edición posterior y metaboxes. Haz eco de tu imagen con un atributo de estilo que contiene 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;" />';
}

Luego, utilizando jQuery puedes eliminar la imagen y colocarla sobre el título. Simplemente me conecté a admin_head para hacer esto, pero también puedes poner en cola un archivo js separado o lo que sea.

<?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   
}

No es la solución más directa, pero funciona. Como complemento: enlace

    
respondido por el chrisguitarguy 05.09.2011 - 00:14

Lea otras preguntas en las etiquetas