添加Meta Box Befoure帖子标题

时间:2011-09-04 作者:Sagive

我想在帖子标题上方添加一张图片。。。在过去,我会直接在wordpress代码中更改,但这不是很有效果。。你知道,升级之类的。

有没有一种方法可以使用add\\u meta\\u box或其他方法直接在帖子标题上方添加一个框?

试过这个Priority of Meta Box for Custom Post Type

但那没用。。请提供帮助:)

2 个回复
最合适的回答,由SO网友:kaiser 整理而成

你唯一真正的机会就是admin_notices, 在新岗位上方。php页面标题(&P);图标:

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\' );

SO网友:chrisguitarguy

我的答案是假设你的意思是在编辑后屏幕上的管理区域。

不幸的是,没有挂钩可以在标题上方添加内容。

我确实找到了一个(非常黑客?)然而,要做到这一点,请查看Premise的代码(Copyblogger Media的登录页插件)。

钩住类似的东西dbx_post_sidebar, 下面是所有后期编辑材料和元数据库。使用包含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;" />\';
}
然后使用jQuery可以删除图像并将其放置在标题上方。我刚刚迷上了admin_head 要做到这一点,您还可以将单独的js文件或其他文件排队。

<?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   
}
虽然不是最直接的解决方案,但它确实有效。作为插件:https://gist.github.com/1193612

结束