在编辑帖子或页面时,如何创建带有编辑说明的HTML内容的Metabox?

时间:2012-07-06 作者:Bakaburg

我想在屏幕中添加一个带有HTML内容的自定义元框新建和编辑帖子/页面(/wp-admin/post.php?post=POST_ID&action=edit), 这样我就可以显示一个编辑指南列表,供我的编辑遵循。

我不想在许多不同的地方编辑代码来更新指令。我正在寻找一些更通用的东西,我可以在一个地方编辑。我怎样才能做到这一点?

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

不知道有什么插件。但这是可以解决的creating a custom plugin 使用Settings API 和aCustom Meta Box.

在设置页面中添加RichText编辑器/wp-admin/options-general.php

<?php
/* Plugin Name: Custom Editor in Settings Page */

add_action( \'admin_init\', \'register_settings_wpse_57647\' );

# Register settings
function register_settings_wpse_57647() 
{
    register_setting( 
        \'general\', 
        \'html_guidelines_message\',
        \'esc_html\'
    );
    add_settings_section( 
        \'site-guide\', 
        \'Publishing Guidelines\', 
        \'__return_false\', 
        \'general\' 
    );
    add_settings_field( 
        \'html_guidelines_message\', 
        \'Enter custom message\', 
        \'print_text_editor_wpse_57647\', 
        \'general\', 
        \'site-guide\' 
    );
}    

# Print settings field content
function print_text_editor_wpse_57647() 
{
    $the_guides = html_entity_decode( get_option( \'html_guidelines_message\' ) );
    echo wp_editor( 
        $the_guides, 
        \'sitepublishingguidelines\', 
        array( \'textarea_name\' => \'html_guidelines_message\' ) 
    );
}
Results in:
resulting settings

将元框添加到帖子/页面

这将打印保存在设置页面中的选项。

add_action( \'add_meta_boxes\', \'add_custom_box_wpse_57647\' );

# Add Meta Boxes
function add_custom_box_wpse_57647() 
{
    foreach( array( \'post\', \'page\' ) as $cpt )
        add_meta_box( 
            \'mb_wpse_57647\',
            __( \'Additional Guidelines\', \'this_plugin_or_theme_textdomain\' ),
            \'inner_custom_box_wpse_57647\',
            $cpt,
            \'side\',
            \'high\'
        );
}

# Prints the box content
function inner_custom_box_wpse_57647( $post ) 
{
    global $current_user;
    get_currentuserinfo();
    $the_guides = html_entity_decode( get_option ( \'html_guidelines_message\' ) );
    echo \'<h2>Howdy, \' . $current_user->display_name . \'</h2>\';
    echo "<div>$the_guides</div><br style=\'clear:both\' />";
}
Results in:
resulting meta box

SO网友:tinyhook

我想你要找的是一个metabox插件。。。这样,您就可以在发布/编辑屏幕中添加html框

http://wordpress.org/extend/plugins/meta-box/

结束

相关推荐

将wp_EDITOR添加到自定义Metabox

我正在向自定义帖子类型添加字段。我如何在元数据中拥有编辑选项,就像它们在编辑器框中一样? add_action(\'add_meta_boxes\', \'add_property\'); function add_property(){ add_meta_box(\"description-meta\", \"Property Description\", \"desc_options\", \"property\", \"normal\"); } &#x