将_Meta_box添加到自定义页面(强大的编辑帖子)

时间:2017-08-07 作者:Mac

我正在wordpress网站上做一个小的“项目”,我正试图在这个强大的编辑帖子(第页?)中添加一个自定义的元数据库屏幕但我似乎不知道怎么做。

add_action( \'add_meta_boxes\', \'trustpilot_metabox\', 10, 2 );
function trustpilot_meta_box($post_type, $post) 
{
    add_meta_box( 
        \'trustpilot-metabox\',
        __( \'Trustpilot Invitation\' ),
        \'trustpilot_metabox_callback\',
        \'formidable-entries\',
        \'right\',
        \'default\'
    );
}

function trustpilot_metabox_callback()
{ 
    echo \'<div>test</div>\';
}
url如下所示:https://teststore.swe/wp-admin/admin.php?page=formidable-entries&frm_action=edit&id=2222

我在谷歌上搜索过,似乎想不出如何将其添加到特定的自定义页面——我可以将其添加到任何自定义帖子或一般帖子中。我想我应该使用页面名称,但无论我输入什么,似乎都不起作用

1 个回复
SO网友:Interactive

像这样?

<?php

/*
Plugin Name: Your plugin name
Plugin URI: http://www.domain.com
Description: Description
Author: You obviously
Version: 1.0
*/

/**
* Adds a meta box to the post editing screen
*/

include(\'meta_box/meta_box.php\');
?>
meta\\u框。php

<?php
$post_id = $_GET[\'post\'] ? $_GET[\'post\'] : $_POST[\'post_ID\'] ;
$page_temp = get_page_template_slug( $post_id );

if ($page_temp == \'template_name.php\')
{
function home_custom_meta() {
$post_id = $_GET[\'post\'] ? $_GET[\'post\'] : $_POST[\'post_ID\'] ;

// checks for post/page ID
    // I REMOVED THE EDITOR BECAUSE I DIDN\'T NEED IT
    remove_post_type_support(\'page\', \'editor\');
    add_meta_box( \'home_meta\', __( \'Homepage\', \'home-textdomain\' ), \'home_meta_callback\', \'page\' );

add_action(\'save_post\',\'my_meta_save\');
}
add_action( \'add_meta_boxes\', \'home_custom_meta\' );

/**
 * Outputs the content of the meta box
 */
function home_meta_callback( $post ) {
wp_nonce_field( basename( __FILE__ ), \'home_nonce\' );

// CONTENT OF THE META BOX GOES HERE
}



/**
 * Saves the custom meta input
 */
function home_meta_save( $post_id ) {

// Checks save status
$is_autosave = wp_is_post_autosave( $post_id );
$is_revision = wp_is_post_revision( $post_id );
$is_valid_nonce = ( isset( $_POST[ \'home_nonce\' ] ) && wp_verify_nonce( $_POST[ \'home_nonce\' ], basename( __FILE__ ) ) ) ? \'true\' : \'false\';

// Exits script depending on save status
if ( $is_autosave || $is_revision || !$is_valid_nonce ) {
    return;
}

// Checks for input and sanitizes/saves if needed
if( isset( $_POST[ \'post_value\' ] ) ) {update_post_meta( $post_id, \'post_value\', sanitize_text_field( $_POST[ \'post_value\' ] ) );}

add_action( \'save_post\', \'home_meta_save\' );
}

/**
 * Adds the meta box stylesheet when appropriate
 */
function home_admin_styles(){global $typenow;
if( $typenow == \'page\' ) {wp_enqueue_style( \'meta_box_styles\', plugin_dir_url( __FILE__ ) . \'meta-box-styles.css\' );}}
add_action( \'admin_print_styles\', \'home_admin_styles\' );
}

?>

结束

相关推荐

如果拒绝对用户进行管理员访问,则ADMIN_POST操作不可用

现在,具有特定角色的用户将被重定向到admin_init 取决于以下条件if (is_admin() && in_array($role_id, $user->roles)) 但是,这会阻止具有该角色的登录用户使用admin_post 行动挂钩。那么,有没有办法只重定向管理仪表板访问权限或功能?我四处寻找处理WordPress表单提交的最佳选择,并阅读了admin_post 是要使用的钩子,但现在看来,如果角色在访问时被重定向,我现在无法使用它wp_admin/admin-