元盒子回调中的帖子ID错误

时间:2017-10-13 作者:David Martins

我试图在编辑页面上获取帖子的ID,但显示的ID错误

Wrong post ID

自定义帖子:

register_post_type( \'projetos\', array(
    \'description\'           => \'Projetos do Scan\'
    ,\'exclude_from_search\'  => false
    ,\'public\'               => true
    ,\'publicly_queryable\'   => true
    ,\'show_ui\'              => true
    ,\'show_in_menu\'         => true
    ,\'query_var\'            => true
    ,\'rewrite\'              => array( \'slug\' => \'projeto\' )
    ,\'capability_type\'      => \'post\'
    ,\'has_archive\'          => true
    ,\'menu_position\'        => 20
    ,\'supports\'             => array( \'title\', \'editor\' )
    ,\'hierarchical\'         => true
    ,\'labels\' => array(
        \'name\'               => _x( \'Projetos\', \'post type general name\', \'Projetos do Scan\' ),
        \'singular_name\'      => _x( \'Projeto\', \'post type singular name\', \'Projetos do Scan\' ),
        \'menu_name\'          => _x( \'Projetos\', \'admin menu\', \'Projetos do Scan\' ),
        \'name_admin_bar\'     => _x( \'Projeto\', \'add new on admin bar\', \'Projetos do Scan\' ),
        \'add_new\'            => _x( \'Adicionar Novo\', \'foto\', \'Projetos do Scan\' ),
        \'add_new_item\'       => __( \'Adicionar Novo Projeto\', \'Projetos do Scan\' ),
        \'new_item\'           => __( \'Novo Projeto\', \'Projetos do Scan\' ),
        \'edit_item\'          => __( \'Editar Projeto\', \'Projetos do Scan\' ),
        \'view_item\'          => __( \'Ver Projeto\', \'Projetos do Scan\' ),
        \'all_items\'          => __( \'Todos os Projetos\', \'Projetos do Scan\' ),
        \'search_items\'       => __( \'Buscar Projetos\', \'Projetos do Scan\' ),
        \'parent_item_colon\'  => __( \'Projetos:\', \'Projetos do Scan\' ),
        \'not_found\'          => __( \'Nenhum projeto encontrado.\', \'Projetos do Scan\' ),
        \'not_found_in_trash\' => __( \'Nenhum projeto encontrado na lixeira.\', \'Projetos do Scan\' )
    )
    ,\'menu_icon\' => \'dashicons-clipboard\'
    ,\'register_meta_box_cb\' => \'projetos_meta_box\' // adicionar meta boxes e remover meta boxes neste callback
) );
回调:

function projetos_meta_box() {
add_meta_box(\'projetos_info_meta_box\', \'Informações\', \'render_projetos_info_meta_box\', \'projetos\', \'side\', \'default\');
add_meta_box(\'projetos_imagens_meta_box\', \'Imagens\', \'render_projetos_imagens_meta_box\', \'projetos\', \'normal\', \'default\');
add_meta_box(\'projetos_capitulos_meta_box\', \'Capítulos\', \'render_projetos_capitulos_meta_box\', \'projetos\', \'normal\', \'default\');
}

and here\'s the problem

function render_projetos_imagens_meta_box( $post ) {
global $post;

wp_nonce_field( \'projetos_imagens_meta_box\', \'projetos_imagens_meta_box\');
$imagens_projeto = json_decode( get_post_meta( $post->ID, \'imagens_projeto\', true ) );

ob_start(); ?>

<?php echo var_dump($post); ?>
<div style="margin-top: 10px;">
    <button type="button" id="btn_add_img" class="button button-primary button-large">Adicionar</button>
</div>
<ul class="attachments-projeto">
<?php if( !empty( $imagens_projeto ) ) : foreach( $imagens_projeto as $img_pjt ) : ?>

    <li>
        <button data-id="<?php echo $img_pjt->id; ?>" type="button" class="btn_remover_img">
            <span class="dashicons dashicons-trash"></span>
        </button>
        <img alt="<?php echo $img_pjt->title; ?>" src="<?php echo $img_pjt->url; ?>" />
    </li>

<?php endforeach; endif; ?>
</ul>
<div class="clearfix"></div>
<input type="hidden" id="imagens_projeto" name="imagens_projeto" value="<?php echo get_post_meta( $post->ID, \'imagens_projeto\', true ); ?>" />

<?php
echo ob_get_clean();
}

3 个回复
SO网友:L.Milo

如果您删除该行global $post; (你真的应该删除它),根据the official documentation, 除非@rudtek提到,否则您可以在某处运行自定义查询$post 已更改

SO网友:Benoti

我认为您的问题来自json\\u解码。看起来get\\u post\\u meta会返回一个成员数据(post\\u type->底部var\\u转储上的membros)!

查看保存此元的代码。

SO网友:David Martins

因为我不能解决这个问题,所以我做了一个变通方法

$post_id = intval($_GET[\'post\']);
基本上,我从编辑帖子url获取帖子ID

结束

相关推荐

如何从Metabox更新编辑器内容

您好,我正在尝试更新和添加metabox中的编辑器内容,但未使用默认编辑器,因此我尝试使用wp\\u update\\u post($数组);但不起作用它会引起问题致命错误:最大函数嵌套级别为“100”那么,是否可以在不使用默认编辑器的情况下从metabox添加或更新帖子内容